Python JSON
JSON is een syntaxis voor het opslaan en uitwisselen van gegevens.
JSON is tekst, geschreven met JavaScript-objectnotatie.
JSON in Python
Python heeft een ingebouwd pakket genaamd json
, dat kan worden gebruikt om met JSON-gegevens te werken.
Voorbeeld
Importeer de json-module:
import json
JSON ontleden - Converteren van JSON naar Python
Als u een JSON-tekenreeks hebt, kunt u deze ontleden met behulp van de
json.loads()
methode.
Het resultaat is een Python-woordenboek .
Voorbeeld
Converteren van JSON naar Python:
import json
# some JSON:
x = '{ "name":"John", "age":30, "city":"New
York"}'
# parse x:
y = json.loads(x)
# the result is a
Python dictionary:
print(y["age"])
Converteren van Python naar JSON
Als u een Python-object hebt, kunt u dit met behulp van de json.dumps()
methode converteren naar een JSON-tekenreeks.
Voorbeeld
Converteren van Python naar JSON:
import json
# a Python object (dict):
x = {
"name":
"John",
"age": 30,
"city": "New York"
}
#
convert into JSON:
y = json.dumps(x)
# the result is a JSON string:
print(y)
U kunt Python-objecten van de volgende typen converteren naar JSON-tekenreeksen:
- dictaat
- lijst
- tupel
- snaar
- int
- vlot
- Waar
- niet waar
- Geen
Voorbeeld
Converteer Python-objecten naar JSON-tekenreeksen en druk de waarden af:
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))
Wanneer u van Python naar JSON converteert, worden Python-objecten geconverteerd naar het JSON-equivalent (JavaScript):
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
Voorbeeld
Converteer een Python-object dat alle juridische gegevenstypen bevat:
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))
Het resultaat opmaken
In het bovenstaande voorbeeld wordt een JSON-tekenreeks afgedrukt, maar deze is niet erg gemakkelijk te lezen, zonder inspringingen en regeleinden.
De json.dumps()
methode heeft parameters om het resultaat gemakkelijker te kunnen lezen:
Voorbeeld
Gebruik de indent
parameter om het aantal inspringingen te definiëren:
json.dumps(x, indent=4)
U kunt ook de scheidingstekens definiëren, de standaardwaarde is (", ", ": "), wat betekent dat u een komma en een spatie gebruikt om elk object te scheiden, en een dubbele punt en een spatie om sleutels van waarden te scheiden:
Voorbeeld
Gebruik de separators
parameter om het standaardscheidingsteken te wijzigen:
json.dumps(x, indent=4, separators=(". ", " = "))
Bestel het resultaat
De json.dumps()
methode heeft parameters om de sleutels in het resultaat te ordenen:
Voorbeeld
Gebruik de sort_keys
parameter om aan te geven of het resultaat moet worden gesorteerd of niet:
json.dumps(x, indent=4, sort_keys=True)