Serialisatie en deserialisatie
Python-object vertaalt zich in een JSON-object door serialisatie te gebruiken en het JSON-object vertaalt zich in een Python-object door gebruik te maken van deserialisatie. De volgende tabel laat zien hoe Python-objecten worden geconverteerd naar JSON-objecten of vice versa gedurende de periode van serialisatie en deserialisatie.
JSON | Python |
waar | waar |
vals | vals |
draad | draad |
aantal | aantal |
reeks | lijst, tuple |
voorwerp | dictaat |
nul | geen |
Methoden:
load() : deze methode wordt gebruikt om gegevens uit een JSON-bestand in een python-dictaat te laden.
Loads() : Deze methode wordt gebruikt om gegevens van een JSON-variabele in een python-dictaat te laden.
dump() : Deze methode wordt gebruikt om gegevens uit het python-woordenboek naar het JSON-bestand te laden.
dumps(): deze methode wordt gebruikt om gegevens uit het python-woordenboek naar de JSON-variabele te laden.
JSON-gegevens lezen met Python
JSON-gegevens kunnen op verschillende manieren worden geparseerd en verwerkt met behulp van Python-script. Hoe verschillende soorten JSON-gegevens kunnen worden geparseerd, wordt in dit deel getoond aan de hand van verschillende Python-voorbeelden. Maak een eenvoudig json-bestand met de naam leerling.json met de volgende gegevens om de scripts van deze tutorial te testen test.
[ "ID": "1110978","Name": "Alif al Razi", "Batch": "34", "Semester": "8","Afdeling": "CSE",
"ID": "2220998","Name": "Nusrat Faria", "Batch": "23", "Semester": "9",
"Afdeling": "BBA",
"ID": "1118934","Name": "Emran Hossain", "Batch": "33", "Semester": "7",
"Afdeling": "CSE",
"ID": "4448934","Name": "Rehana Akter", "Batch": "41", "Semester": "10",
"Afdeling": "ENG",
"ID": "11107745","Name": "Saif Ali", "Batch": "39", "Semester": "5",
"Afdeling": "CSE"]
Voorbeeld 1: Lees en print een JSON-bestand in JSON-formaat
Maak een python-bestand met de naam json1.py met het volgende script. JSON-module wordt gebruikt om JSON-gegevens te lezen met behulp van python-script. Open() methode wordt gebruikt om te lezen leerling.json bestand en laden() methode wordt gebruikt om de gegevens in de variabele op te slaan, gegevens.
# JSON-module importerenimport json
# Open het bestaande JSON-bestand om het in een variabele te laden
met open('student.json') als f:
data = json.belasting (v)
# Druk de JSON-gegevens af
afdrukken(gegevens)
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het script:.
Voorbeeld 2: Gegevens lezen en ontleden uit een JSON-bestand met Python dict
JSON-gegevens kunnen worden opgeslagen in elke python-woordenboekvariabele om elke eigenschapswaarde later gemakkelijk te verwerken. Maak een python-script met de naam json2.py met de volgende code:. Het eerder gemaakte json-bestand wordt hier gebruikt. Nadat de gegevens in het woordenboek zijn geladen, wordt elke eigenschapswaarde van elk record afgedrukt met de eigenschapnaam.
# Importeer json-moduleimport json
# Open het bestaande json-bestand om in een variabele te laden
met open('student.json', 'r') als f:
studenten = json.belasting (v)
# Print elke eigenschap van het object
voor student in studenten:
print(student['Naam'],',',student['Batch'],'batch',',', student['Semester'],
'Semester',',',student['Afdeling'],'afdeling')
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het script:.
Voorbeeld 3: een JSON-gegevens ontleden
JSON-gegevens kunnen worden geparseerd vanuit elke JSON-variabele. Maak een bestand met de naam json3.py met het volgende script. JSONData wordt hier gedeclareerd om JSON-gegevens van drie eigenschappen op te slaan. laadt() methode wordt hier gebruikt om gegevens van een JSON-variabele te laden. Vervolgens wordt elke eigenschapswaarde met elke eigenschapsnaam regel voor regel in de terminal afgedrukt.
# Importeer json-moduleimport json
# Definieer json-gegevens
JSONData = '"Java": "3 Credits", "PHP": "2 Credits", "C++": "3 Credits"'
# Laad de json-gegevens in een variabele
storedata = json.laadt (JSONData)
# Herhaal de for-lus om de gegevens af te drukken met de toets
voor val in storedata:
print("%s: %s" % (val, storedata[val]))
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het script:.
Voorbeeld 4: JSON-gegevens ontleden in een Python-object
JSON-gegevens worden opgeslagen in een python-woordenboekvariabele in de vorige drie voorbeelden van deze zelfstudie. Dit voorbeeld laat zien hoe u JSON-gegevens kunt opslaan in elk python-object. Maak een bestand met de naam json4.py met het volgende script. Hier, read_data class wordt gebruikt om JSON-gegevens in een object op te slaan. JSONData, een variabele wordt gebruikt bij het maken van het object van de klasse. Er zijn drie eigenschappen in de JSONData en de waarde van de eigenschapsnaam, PHP wordt afgedrukt als uitvoer.
# JSON-module importerenimport json
# Definieer JSON-gegevens
JSONData = '"Java": "3 Credits", "PHP": "2 Credits", "C++": "3 Credits"'
# Declareer klasse om JSON-gegevens op te slaan in een python-woordenboek
klasse read_data(object):
def __init__(zelf, jdata):
zelf.__dict__ = json.laadt (jdata)
# Wijs object van de klasse toe
p_object = read_data (JSONData)
# Druk de waarde van een specifieke eigenschap af
print(p_object.PHP)
Uitgang:
De waarde van de eigenschap 'PHP' is '2 credits'. Dus de volgende uitvoer verschijnt na het uitvoeren van het script:.
Voorbeeld 5: Python-dictaat converteren naar JSON-gegevens
JSON-gegevens worden opgeslagen in het Python-woordenboek of object in de vorige voorbeelden, maar de gegevens uit het python-woordenboek kunnen ook worden opgeslagen in een JSON-variabele. Maak een bestand met de naam json5.py met het volgende script. De gegevens worden opgeslagen in de woordenboekvariabele, klantDict. stortplaatsen() methode wordt hier gebruikt om de gegevens van een woordenboekvariabele naar een JSON-variabele te converteren, jsonObject. Vervolgens wordt de waarde van de JSON-variabele afgedrukt als uitvoer.
# JSON-module importerenimport json
# Verklaar een python-woordenboek
customerDict = 'name': 'John', 'type': 'gold', 'age': 35
# Laad de gegevens van het woordenboek naar het JSON-object
jsonData = json.stortplaatsen (klantDict)
# Druk het JSON-object af
print(jsonData)
Uitgang:
De volgende uitvoer zal verschijnen na het uitvoeren van het script:.
Conclusie:
JSON-gegevensindeling wordt door veel programmeertalen ondersteund. De conversie van JSON naar Python en python naar JSON-gegevens worden in deze tutorial uitgelegd aan de hand van verschillende python-voorbeelden. U kunt elk type gegevensconversie van python-object naar JSON-object of vice versa uitvoeren na het oefenen van deze tutorial.