JavaScript Object Notation (JSON) is een standaardformaat geworden voor gegevensuitwisseling op het web. Het wordt veel gebruikt voor het verzenden van gegevens in webapplicaties, vooral omdat het voor zowel mensen als machines makkelijk te maken en te begrijpen is. Maar hoe kunnen we omgaan met dit formaat in Python, de taal bij uitstek voor datawetenschappers? In deze uitgebreide tutorial leren we hoe we JSON-gegevens kunnen lezen en parsen met Python.
JSON begrijpen
JSON is een tekstindeling die volledig taalonafhankelijk is, maar conventies gebruikt die bekend zijn bij programmeurs van de C-familie van talen, waaronder C, C++, C#, Java, JavaScript, Perl, Python en vele andere. Het kan getallen, tekenreeksen, geordende reeksen waarden (arrays) en verzamelingen van naam-waardeparen (objecten) weergeven.
JSON vs XML
Voordat JSON populair werd, werd XML (eXtensible Markup Language) voornamelijk gebruikt om gegevens op te slaan en te transporteren. In tegenstelling tot XML biedt JSON een eenvoudigere, beter leesbare syntaxis voor gegevensuitwisseling. Hier zijn enkele belangrijke verschillen:
JSON | XML |
---|---|
Eenvoudig te lezen en te schrijven. | Minder eenvoudig te lezen en te schrijven. |
Parseren gaat snel. | Parseren is langzaam. |
Gegevens zijn gemakkelijk toegankelijk als JSON-objecten. | Gegevens moeten worden uitgepakt om te kunnen worden gebruikt als objecten. |
Ondersteuning voor arrays. | Geen ondersteuning voor arrays. |
Minder langdradig. | Meer uitgebreid. |
Python en JSON
Python heeft een ingebouwd pakket genaamd json, dat kan worden gebruikt om met JSON-gegevens te werken. Als je een JSON string hebt, kun je deze parsen met de json.loads() methode. Op dezelfde manier, als je een Python object hebt, kun je het converteren naar een JSON string door gebruik te maken van de json.dumps() methode.
JSON-gegevens lezen in Python
Python's ingebouwde json module biedt functionaliteit om zowel naar JSON-bestanden te lezen als ernaar te schrijven. Je kunt json.load() methode voor het lezen van een bestand dat een JSON object bevat.
import json
with open('sample.json', 'r') as f:
data = json.load(f)
Dit stukje code opent het bestand sample.jsonen het JSON-object in het bestand wordt gedeserialiseerd in een Python-woordenboek dat wordt toegewezen aan de variabele gegevens.
JSON-gegevens parsen in Python
De json-module van Python maakt het eenvoudig om JSON-gegevens te parsen.
import json
json_string = '{"name": "John", "age": 30, "city": "New York"}'
python_dict = json.loads(json_string)
In dit voorbeeld, json.loads() neemt een tekenreeks als invoer en geeft een woordenboek als uitvoer.
JSON-gegevens schrijven in Python
Om een Python object naar een JSON bestand te schrijven, gebruik je json.dump().
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
with open('output.json', 'w') as json_file:
json.dump(data, json_file)
In dit voorbeeld wordt het Python-woordenboek geschreven naar uitvoer.json.
Python-objecten converteren naar JSON
De json-module van Python biedt de functie json.dumps() om Python-objecten om te zetten naar JSON-formaat. Dit proces wordt serialisatie genoemd.
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
json_data = json.dumps(data)
Hier is het Python woordenboek gegevens wordt geserialiseerd naar een JSON-geformatteerde string met behulp van json.dumps().
JSON en Python praktijkvoorbeeld
JSON wordt veel gebruikt bij webontwikkeling om gegevens van de client naar de server te sturen. Dit is een basisvoorbeeld van hoe een Python-script kan worden gebruikt om gegevens in JSON-formaat naar een webserver te sturen.
import json
import requests
data = {
"name": "John",
"age": 30,
"city": "New York"
}
headers = {"Content-Type": "application/json"}
response = requests.post("http://httpbin.org/post", headers=headers, data=json.dumps(data))
print(response.json())
Dat is alles over het lezen en parsen van JSON-gegevens met Python. Onthoud dat het begrijpen van de JSON-gegevensstructuur en hoe deze te manipuleren met Python een belangrijke vaardigheid is in de moderne webwereld. Zorg er dus voor dat je de concepten die in deze tutorial zijn besproken oefent om vertrouwd te raken met het omgaan met JSON-gegevens. Veel leerplezier!
Opmerkingen (0)
Er zijn hier nog geen reacties, jij kunt de eerste zijn!