JSON w Pythonie

JSON jest syntaksem używanym do przechowywania i wymiany danych.

JSON jest napisany w formacie notacji obiektów JavaScript (JavaScript object notation) jako tekst.

JSON w Pythonie

Python ma moduł o nazwie json wbudowanego pakietu, który można używać do przetwarzania danych JSON.

Przykład

Importuj json Moduł:

import json

Analiza JSON - Konwersja JSON na Python

Jeśli jest ciąg JSON, możesz go użyć json.loads() metoda go analizuje.

Wynik będzie słownikiem Pythona.

Przykład

Przekształcanie JSON na Python:

import json
# Niektóre JSON:
x =  '{ "name":"Bill", "wiek":63, "miasto":"Seatle"}'
# Analiza x:
y = json.loads(x)
# Wynik to słownik Pythona:
print(y["wiek"])

Uruchom przykład

Przekształcanie Pythona na JSON

Jeśli masz obiekt Pythona, możesz użyć json.dumps() metoda konwertuje go na ciąg znaków JSON.

Przykład

Przekształcanie Pythona na JSON:

import json
# Obiekt Pythona (słownik):
x = {
  "imię": "Bill",
  "wiek": 63,
  "miasto": "Seatle"
}
# Konwersja na JSON:
y = json.dumps(x)
# Wynik to ciąg znaków JSON:
print(y)

Uruchom przykład

Możesz przekształcić następujące typy obiektów Pythona na ciąg znaków JSON:

  • dict
  • list
  • tuple
  • string
  • int
  • float
  • True
  • False
  • None

Przykład

Konwersja obiektu Pythona na ciąg znaków JSON i wypisanie wartości:

import json
print(json.dumps({"name": "Bill", "age": 63}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

Uruchom przykład

Kiedy Python jest przekształcany na JSON, obiekty Pythona są przekształcane na odpowiedniki JSON (JavaScript):

Python JSON
dict Obiekt
list Wektor
tuple Wektor
str Ciąg znaków
int Liczba
float Liczba
True prawda
False fałsz
None null

Przykład

Przekształcanie obiektów Pythona zawierających wszystkie legalne typy danych:

import json
x = {
  "imię": "Bill",
  "wiek": 63,
  "married": Prawda,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  }
}
print(json.dumps(x))

Uruchom przykład

Formatowanie wyników

Powyższy przykład drukuje ciąg JSON, ale nie jest łatwy do odczytania, ponieważ brakuje wcięć i wierszy końcowych.

json.dumps() Metoda oferuje parametr, który czyni wyniki bardziej czytelnymi:

Przykład

Użycie indent Parametr definiuje liczbę wcięć:

json.dumps(x, indent=4)

Uruchom przykład

Możesz również zdefiniować separatorzy, wartością domyślną jest (", ", ": "), co oznacza, że każda obiekt jest rozdzielona przecinkiem i spacją, a klucz i wartość są oddzielone dwukropkiem i spacją:

Przykład

Użycie separators Parametr zmienia domyślne separatorzy:

json.dumps(x, indent=4, separators=(". ", " = "))

Uruchom przykład

Sortowanie wyników

json.dumps() Metoda oferuje parametr sortowania kluczy wyników:

Przykład

Użycie sort_keys Parametr określa, czy wyniki mają być sortowane:

json.dumps(x, indent=4, sort_keys=True)

Uruchom przykład