Python JSON
JSON este un format pentru salvarea datelor și transmiterea lor între sisteme.
Este text obișnuit care folosește o notație simplă pentru obiecte.
JSON în Python
Python vine cu un pachet încorporat numit json pentru lucrul cu date JSON.
Exemplu
import json
Parsarea JSON - Conversia din JSON în Python
Un șir JSON poate fi parsat cu metoda json.loads().
În acest exemplu, rezultatul este un dicționar Python.
Exemplu
json.loads().
Șirul JSON conține nume, vârstă și oraș. Afișează valoarea vârstei.
Ieșire: program Python complet
import json
# ceva JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'
# parsarea lui x:
y = json.loads(x)
# rezultatul este un dicționar Python:
print(y["age"])
Conversia din Python în JSON
În sens invers, metoda json.dumps() transformă un obiect Python într-un șir JSON.
Aceste tipuri Python pot fi convertite în șiruri JSON:
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
În timpul conversiei, fiecare obiect Python devine echivalentul său JSON:
- dict → Object
- list → Array
- tuple → Array
- str → String
- int → Number
- float → Number
- True → true
- False → false
- None → null
Exemplu
json.dumps().
Afișează șirul JSON rezultat.
Ieșire: program Python complet
import json
# un obiect Python (dicționar):
x = {
"name": "John",
"age": 30,
"city": "New York"
}
# conversie în JSON:
y = json.dumps(x)
# rezultatul este un șir JSON:
print(y)
Exemplu
json.dumps() pentru fiecare și afișează rezultatele.
Ieșire: program Python complet
import json
print(json.dumps({"name": "John", "age": 30}))
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))
Exemplu
json.dumps().
Ieșire: program Python complet
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x))
Formatarea rezultatului
Șirul JSON afișat mai sus este greu de citit, pentru că nu are indentare și nici salturi de linie.
json.dumps() primește parametri care fac rezultatul mai ușor de citit:
Și separatorii pot fi personalizați. Valoarea lor implicită este (", ", ": "): o virgulă și un spațiu între obiecte și două puncte și un spațiu între chei și valori:
Exemplu
indent ca să alegi cu câte spații este indentat fiecare nivel:json.dumps() cu parametrul indent setat la 4 pentru a formata ieșirea JSON cu indentare.
Ieșire: program Python complet
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x, indent=4))
Exemplu
separators:json.dumps() cu indent=4 și separators=(". ", " = ") personalizați pentru a schimba separatorul implicit.
Ieșire: program Python complet
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x, indent=4, separators=(". ", " = ")))
Ordonarea rezultatului
Alți parametri ai json.dumps() controlează ordinea cheilor în rezultat:
Exemplu
sort_keys ca să alegi dacă rezultatul este sortat:json.dumps() cu indent=4 și sort_keys=True pentru a sorta cheile în ieșirea JSON.
Ieșire: program Python complet
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x, indent=4, sort_keys=True))