Szerializálás és deserializálás
A Python objektum JSON objektummá válik a szerializáció használatával, a JSON objektum pedig Python objektummá deszerializálással. A következő táblázat azt mutatja be, hogy a Python -objektumok hogyan konvertálódnak JSON -objektumokká vagy fordítva a szerializálás és a deserializálás során.
JSON | Piton |
igaz | igaz |
hamis | hamis |
húr | húr |
szám | szám |
sor | lista, sor |
tárgy | diktálni |
nulla | egyik sem |
Mód:
load (): Ezzel a módszerrel adatokat tölthet be egy JSON fájlból egy python dict -be.
Betöltések (): Ezzel a módszerrel adatokat tölthet be egy JSON változóból egy python -diktumba.
dump (): Ezzel a módszerrel lehet adatokat feltölteni a python szótárból a JSON fájlba.
dumps (): Ezzel a módszerrel adatokat tölthet be a python szótárból a JSON változóba.
JSON adatok olvasása Python használatával
A JSON adatok különböző módon elemezhetők és feldolgozhatók a Python parancsfájl használatával. Ebben a részben különböző Python -példák segítségével bemutatjuk, hogyan elemezhetők a különböző típusú JSON -adatok. Hozzon létre egy egyszerű json fájlt diák.json a következő adatokkal az oktatóanyag szkriptjeinek teszteléséhez.
[ {'Azonosító': '1110978','Név': 'Alif al-Razi','Tétel': '3. 4','Szemeszter': '8',
'Osztály': 'CSE'},
{'Azonosító': „2220998”,'Név': 'Nusrat Faria','Tétel': '2. 3','Szemeszter': „9”,
'Osztály': 'BBA'},
{'Azonosító': '1118934','Név': 'Emran Hossain','Tétel': „33”,'Szemeszter': „7”,
'Osztály': 'CSE'},
{'Azonosító': '4448934','Név': 'Rehana Akter','Tétel': „41”,'Szemeszter': „10”,
'Osztály': 'ENG'},
{'Azonosító': '11107745','Név': 'Saif Ali','Tétel': „39”,'Szemeszter': „5”,
'Osztály': 'CSE'}]
1. példa: JSON -fájl olvasása és nyomtatása JSON formátumban
Hozzon létre egy nevű python fájlt json1.py a következő forgatókönyvvel. A JSON modul bármilyen JSON -adat olvasására szolgál python -szkript használatával. nyisd ki() módszert használják az olvasáshoz diák.json fájl és Betöltés() módszerrel tároljuk az adatokat a változóba, adat.
#Importálás JSONmodulimport json
# Nyissa meg a meglévő JSON fájltszámárabetöltése egy változóba
nyitottal('student.json')mint f:
adat=json.Betöltés(f)
# Nyomtassa ki a JSON adatokat
nyomtatás(adat)
Kimenet:
A szkript futtatása után a következő kimenet jelenik meg.
2. példa: Olvassa el és elemezze az adatokat egy JSON fájlból Python dict használatával
A JSON adatok bármely python szótárváltozóban tárolhatók, hogy az egyes tulajdonságértékeket később könnyen feldolgozzák. Hozzon létre egy nevű python -szkriptet json2.py a következő kóddal. Itt a korábban létrehozott json fájlt használják. Miután betöltötte az adatokat a szótárba, minden rekord minden tulajdonságértékét kinyomtatja a tulajdonság nevével.
#Importálás jsonmodulimport json
# Nyissa meg a meglévő json fájltszámárabetöltése egy változóba
nyitottal('student.json','r')mint f:
diákok=json.Betöltés(f)
# Nyomtassa ki az objektum minden tulajdonságát
számáradiák a diákokban:
nyomtatás(diák['Név'],',',diák['Tétel'],'tétel',',', diák['Szemeszter'],
'Szemeszter',',',diák['Osztály'],'osztály')
Kimenet:
A szkript futtatása után a következő kimenet jelenik meg.
3. példa: JSON -adatok elemzése
A JSON adatok bármely JSON változóból értelmezhetők. Hozzon létre egy nevű fájlt json3.py a következő forgatókönyvvel. JSONData itt három tulajdonság JSON -adatainak tárolására van deklarálva. terhelések () metódust itt használjuk az adatok JSON változóból való betöltésére. Ezután minden tulajdonságnév minden tulajdonságnévvel soronként nyomtat a terminálon.
#Importálás jsonmodulimport json
# Definiálja a json adatokat
JSONData= '{' Java ':' 3 kredit ',' PHP ':' 2 kredit ',' C ++ ':' 3 kredit '}'
# Töltse be a json adatokat egy változóba
adatot tárolni=json.terhelések(JSONData)
# Ismételje meg aszámárahurok az adatok kinyomtatásához
számáraval in storageata:
nyomtatás('% s:% s' % (val, tárolt adatok[óra]))
Kimenet:
A szkript futtatása után a következő kimenet jelenik meg.
4. példa: JSON adatok elemzése Python objektumba
A JSON -adatok egy python szótárváltozóban vannak tárolva az oktatóanyag előző három példájában. Ez a példa bemutatja, hogyan tárolhat JSON -adatokat 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 , egy változót használnak az osztály objektumának létrehozásakor. Három tulajdonság létezik a JSONData -ban és a tulajdonságnév értéke, PHP kimenetként nyomtat.
#Importálás JSONmodulimport json
# Definiálja a JSON adatokat
JSONData= '{' Java ':' 3 kredit ',' PHP ':' 2 kredit ',' C ++ ':' 3 kredit '}'
# Kijelentosztályhogy tárolja a JSON adatokat egy python szótárban
osztályread_data(tárgy):
def __init__(én, jdata):
saját .__ dict__=json.terhelések(jdata)
# Rendelje hozzá az objektumotosztály
p_object=read_data(JSONData)
# Nyomtassa ki az adott tulajdonság értékét
nyomtatás(p_object.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 -adatokra
A JSON adatok a Python szótárban vagy objektumban vannak tárolva az előző példákban, de a python szótárból származó adatok tárolhatók egy JSON változóban is. Hozzon létre egy nevű fájlt json5.py a következő forgatókönyvvel. Az adatok a szótár változóban tárolódnak, customerDict. guba() itt a módszert használják az adatok átalakítására egy szótári változóból JSON változóvá, jsonObject . Ezután a JSON változó értéke nyomtatásra kerül.
#Importálás JSONmodulimport json
# Nyújtson be egy python szótárt
customerDict= {'név': 'János','típus': 'Arany','kor': 35 }
# Töltse be az adatokat a szótárból a JSON objektumba
jsonData=json.guba(customerDict)
# Nyomtassa ki a JSON objektumot
nyomtatás(jsonData)
Kimenet:
A szkript futtatása után a következő kimenet jelenik meg.
Következtetés:
A JSON adatformátumot számos programozási nyelv támogatja. A JSON átalakítása Python -ba és a python -ból JSON -adatokra ebben az oktatóanyagban található, különféle python -példák segítségével. Az oktatóanyag gyakorlása után bármilyen típusú adatkonverziót végrehajthat a python objektumból a JSON objektumba vagy fordítva.