JSON w Pythonie
- Poprzednia strona Data w Pythonie
- Następna strona RegEx 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"])
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)
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))
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))
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)
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=(". ", " = "))
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)
- Poprzednia strona Data w Pythonie
- Następna strona RegEx w Pythonie