Serializáció és deserializáció
A Python objektum JSON-objektummá alakul a sorozatosítással, a JSON-objektum pedig a deserializációval Python-objektummá alakul át. Az alábbi táblázat bemutatja, hogyan konvertálják a Python-objektumokat JSON-objektumokká vagy fordítva a szerializálás és a deserializáció ideje alatt.
JSON | Piton |
igaz | igaz |
hamis | hamis |
húr | húr |
szám | szám |
sor | lista, kettő |
tárgy | diktálja |
nulla | egyik sem |
Mód:
load (): Ezt a módszert arra használják, hogy adatokat töltsön fel egy JSON fájlból egy python dict-be.
Loads (): Ezt a módszert arra használják, hogy adatokat töltsön fel egy JSON változóból egy python dict-be.
dump (): Ezzel a módszerrel az adatok a python szótárból a JSON fájlba töltődnek be.
dumps (): Ezt a módszert arra használják, hogy adatokat töltsenek be a python szótárból a JSON változóba.
JSON adatok olvasása Python használatával
A JSON adatokat különféle módon lehet elemezni és feldolgozni a Python szkript használatával. A különböző JSON-adatok elemzésének módját ebben a részben mutatjuk be különböző Python-példák segítségével. Hozzon létre egy egyszerű json fájlt diák.json a következő adatokkal tesztelheti az oktatóanyag szkriptjeit.
["ID": "1110978", "Név": "Alif al Razi", "Batch": "34", "Félév": "8","Osztály": "CSE",
"ID": "2220998", "Név": "Nusrat Faria", "Tétel": "23", "Félév": "9",
"Osztály": "BBA",
"ID": "1118934", "Név": "Emran Hossain", "Tétel": "33", "Félév": "7",
"Osztály": "CSE",
"ID": "4448934", "Név": "Rehana Akter", "Tétel": "41", "Félév": "10",
"Osztály": "ENG",
"ID": "11107745", "Név": "Saif Ali", "Batch": "39", "Félév": "5",
"Osztály": "CSE"]
1. példa: JSON fájl olvasása és nyomtatása JSON formátumban
Hozzon létre egy python fájlt json1.py a következő forgatókönyvvel. A JSON modul segítségével bármilyen JSON adat kiolvasható python szkript segítségével. nyisd ki() módszert használnak az olvasásra diák.json fájl és Betöltés() metódust alkalmazzák az adatok tárolására a változóban, adat.
# JSON modul importálásaimport json
# Nyissa meg a meglévő JSON fájlt egy változóba való betöltéshez
nyitott ('hallgatóval.json ') mint f:
adatok = json.terhelés (f)
# Nyomtassa ki a JSON adatokat
nyomtatás (adatok)
Kimenet:
A következő kimenet jelenik meg a szkript futtatása után.
2. példa: JSON fájl adatainak olvasása és elemzése a Python dict segítségével
A JSON-adatok bármely python szótár változóban tárolhatók, hogy később minden tulajdonságértéket könnyen feldolgozzanak. Hozzon létre egy python parancsfájlt json2.py a következő kóddal. A korábban létrehozott json fájlt használják itt. Miután betöltötte az adatokat a szótárba, az egyes rekordok minden tulajdonságértékét kinyomtatják a tulajdonságnév használatával.
# Json modul importálásaimport json
# Nyissa meg a meglévő json fájlt egy változóba való betöltéshez
nyitott ('hallgatóval.json ',' r ') mint f:
diákok = json.terhelés (f)
# Nyomtassa ki az objektum minden tulajdonságát
diákoknak:
nyomtatás (hallgató ['név'], ',', hallgató ['köteg'], 'köteg', ',', hallgató ['félév'],
„Félév”, „,”, hallgató [„tanszék”], „tanszék”)
Kimenet:
A következő kimenet jelenik meg a szkript futtatása után.
3. példa: JSON-adatok elemzése
A JSON-adatok bármely JSON-változóból elemezhetők. Hozzon létre egy nevű fájlt json3.py a következő forgatókönyvvel. JSONData itt van megadva, hogy három tulajdonság JSON adatait tárolja. terhelések () metódust használunk az adatok betöltésére egy JSON változóból. Ezután minden tulajdonságérték és minden tulajdonságnév soronként nyomtat a terminálon.
# Json modul importálásaimport json
# Definiálja a json adatait
JSONData = '"Java": "3 kredit", "PHP": "2 kredit", "C ++": "3 kredit"'
# Töltse be a json adatait egy változóba
tárolt adat = json.terhelések (JSONData)
# Ismételje meg a for ciklust az adatok kulcsos nyomtatásához
for val in storageata:
nyomtatás ("% s:% s"% (val, tárolt adatok [val]))
Kimenet:
A következő kimenet jelenik meg a szkript futtatása után.
4. példa: A JSON-adatok elemzése Python-objektummá
A JSON-adatokat egy python szótár változó tárolja az oktatóanyag előző három példájában. Ez a példa bemutatja, hogyan tárolhatja a JSON adatait bármely python objektumban. Hozzon létre egy nevű fájlt json4.py a következő forgatókönyvvel. Itt, read_data osztály a JSON adatok tárolására szolgál egy objektumban. JSONData, az osztály objektumának létrehozásakor változót használnak. Három tulajdonság létezik a JSONData-ban és a tulajdonságnév értékében, PHP kimenetként fog nyomtatni.
# JSON modul importálásaimport json
# Definiálja a JSON adatokat
JSONData = '"Java": "3 kredit", "PHP": "2 kredit", "C ++": "3 kredit"'
# Deklarálja az osztályt a JSON-adatok python szótárban történő tárolására
class read_data (objektum):
def __init __ (én, jdata):
maga.__dict__ = json.terhelések (jdata)
# Az osztály objektumának hozzárendelése
p_object = olvasási_adatok (JSONData)
# Nyomtassa ki az adott tulajdonság értékét
print (p_objektum.PHP)
Kimenet:
A 'PHP' tulajdonság értéke '2 kredit'. Tehát a következő kimenet jelenik meg a szkript futtatása után.
5. példa: A Python dict konvertálása JSON adatokká
A JSON adatokat az előző példák Python szótárában vagy objektumában tárolják, de a python szótárból származó adatok JSON változóba is tárolhatók. Hozzon létre egy nevű fájlt json5.py a következő forgatókönyvvel. Az adatokat a szótár változó tárolja, customerDict. guba() metódust használjuk az adatok konvertálására egy szótár változóból JSON változóvá, jsonObject. Ezután a JSON változó értéke kimenetként kerül kinyomtatásra.
# JSON modul importálásaimport json
# Nyújtson be egy python szótárt
customerDict = 'név': 'John', 'type': 'gold', 'age': 35
# Töltse be az adatokat a szótárból a JSON objektumba
jsonData = json.dumpok (customerDict)
# Nyomtassa ki a JSON objektumot
nyomtatás (jsonData)
Kimenet:
A következő kimenet jelenik meg a szkript futtatása után.
Következtetés:
A JSON adatformátumot számos programozási nyelv támogatja. A JSON Python és a python átalakítását JSON adatokká ebben az oktatóanyagban különféle python példákkal magyarázzák. A bemutató gyakorlása után bármilyen típusú adatkonvertálást végezhet el python objektumból JSON objektummá vagy fordítva.