json.dumps () módszer:
Ezzel a módszerrel a szótárobjektumot JSON -adatmá alakítják át elemzéshez vagy olvasáshoz, és ez lassabb, mint lerak() módszer.
Szintaxis:
json.guba(tárgy,behúzás=Egyik sem,sort_keys=Hamis)
Ez a módszer sok opcionális érvet tartalmaz. Ebben a cikkben egy kötelező és két választható argumentum használatát mutatjuk be. Itt az első argumentum egy kötelező argumentum, amelyet bármely szótári objektumhoz használnak, a második argumentumot a behúzáshoz tartozó egységek számának meghatározására, a harmadik argumentumot pedig a kulcsok rendezésére használják.
json.dump () módszer:
Ezt a módszert használják a python objektum JSON fájlba történő tárolására. Gyorsabb, mint a guba() módszer, mert külön ír a memóriába és a fájlba.
Szintaxis:
json.lerak(szótár,fileHandler,behúzás=Egyik sem)Ez a módszer sok érvet tartalmaz, mint például guba() . Ebben a cikkben három argumentum felhasználását használjuk arra, hogy egy szótárobjektum adatait JSON -adatmá alakítsuk át, és az adatokat JSON -fájlba tároljuk. Itt az első argumentum egy szótárobjektumot vesz fel, amelyet JSON objektummá kell átalakítani, a második argumentum pedig annak a fájlnak a fájlkezelőjének nevét, amelybe a JSON adatokat írják. A harmadik argumentum a behúzási egység beállítására szolgál.
A cikk alább bemutatja, hogyan használható ez a két módszer a szótárobjektumok JSON -fájlba vagy JSON -karakterlánccá alakítására.
1. példa: A szótár átalakítása JSON-ba a használatával guba() behúzással
Korábban már említettük, hogy a dumps () metódusnak egy kötelező paramétere van, és a szótár objektumnak szüksége lehet arra, hogy az adatokat JSON karakterlánccá alakítsa át. A következő szkriptben dict_data egy szótárváltozó, amely egy adott tanulórekord adatait tartalmazza. Először, a lerakók () metódust egy argumentummal és a dict_data átalakul JSON -adatmá. Mind a szótár, mind a JSON formátum kimenete azonos, ha a JSON -adatokban nincs behúzás. Következő, a lerakók () metódust két argumentummal használjuk, és 3 -at használunk behúzási értékként a JSON adatokhoz. A második JSON kimenet behúzással generál.
#!/usr/bin/env python3# Json modul importálása
importjson
# Határozzon meg egy szótárt
dict_data= { 'Diákigazolvány':'011894', 'név':'Máté', 'tétel':30, 'szemeszter':6 }
# Nyomtassa ki a szótár adatait
nyomtatás('Dictonary kimenet: n',dict_data, ' n')
# A szótárat json objektummá alakíthatja behúzás nélkül
json_data=json.guba(dict_data)
# json adatok nyomtatása
nyomtatás('JSON kimenet behúzás nélkül: n',json_data, ' n')
# A szótárat json objektummá alakíthatja behúzással
json_data=json.guba(dict_data,behúzás=3)
# json adatok nyomtatása behúzással
nyomtatás('JSON kimenet behúzással: n',json_data)
Kimenet:
A szkript futtatása után a következő kimenet jelenik meg.
2. példa: Konvertálja a szótárat JSON-ba a dump () használatával sort_keys segítségével
A JSON adatok kulcsait a segítségével rendezheti sort_keys dump érv (). Ennek az argumentumnak az alapértelmezett értéke False. A következő szkriptben a szótár -objektum használat nélkül konvertálódik JSON -adatokká sort_keys és használva sort_keys ennek az argumentumnak a használatát megjeleníteni. Az első dump () metódust az 5. behúzás értékkel használjuk, és a kimenet a JSON adatokat mutatja az 5. behúzás segítségével. A második dump () metódusban a sort_keys billentyűt használjuk, és True értékre állítjuk a kulcsértékek rendezéséhez. Az utolsó JSON kimenet a kulcsértékek rendezése után mutatja az adatokat.
#!/usr/bin/env python3# Json modul importálása
importjson
# Határozzon meg egy szótárt
dict_data= {'név':'Madison','Hónap':'Lehet','év':2020,'értékesítés':[1000, 2100, 3500, 1200]}
# Nyomtassa ki a szótár adatait
nyomtatás('Dictonary kimenet: n',dict_data, ' n')
# A listaadatokat tartalmazó szótár átalakítása json -ra
json_data=json.guba(dict_data,behúzás= 5)
# json adatok nyomtatása
nyomtatás('JSON kimenet behúzással: n',json_data)
# A listaadatokat tartalmazó szótárat json -ba konvertálja a billentyűk rendezésével
json_data=json.guba(dict_data,behúzás= 5,sort_keys= Igaz)
# a kulcsok alapján rendezett json adatokat nyomtat
nyomtatás('Rendezett JSON kimenet behúzással: n',json_data)
Kimenet:
A szkript futtatása után a következő kimenet jelenik meg. Az első JSON kimenet a szótárban meghatározott kulcsértékeket mutatja, a második JSON kimenet pedig a kulcsértékeket rendezett sorrendben.
3. példa: A szótár átalakítása JSON-adatokká, és tárolása JSON-fájlba
Ha a JSON adatokat fájlba szeretné tárolni a szótárból való konvertálás után, akkor ezt kell használnia a szemétlerakó () módszer. Ebben a példában bemutatjuk, hogyan lehet átalakítani egy szótárobjektumot JSON -adatmá és tárolni az adatokat JSON -fájlban. Itt, a lerak() A módszer három érvet használ. Az első argumentum a korábban definiált szótár objektumot veszi fel. A második argumentum a korábban definiált fájlkezelő változót JSON -fájl létrehozásához hozza létre. A harmadik argumentum meghatározza a behúzás értékét. Az újonnan írt JSON tartalmát később kinyomtatjuk kimenetként.
#!/usr/bin/env python3# Json modul importálása
importjson
# Határozzon meg egy szótárt
dict_data= { 'c-101':'PHP programozás', 'c-102':'Bash programozás', 'c-103':
'Python programozás',
'c-104':'Objektumorientált programozás' }
# Nyomtassa ki a szótár adatait
nyomtatás('Dictonary kimenet: n',dict_data, ' n')
# Állítsa be a json fájlnevet
jsonFile= 'course_list.json'
# Nyisson meg egy json fájlt a json adatok írásához
val vel nyisd ki(jsonFile, 'ban ben') mintfileHandler1:
json.lerak(dict_data,fileHandler1,behúzás= 2)
# Nyisson meg egy json fájlt olvasásra
fileHandler2= nyisd ki(jsonFile)
nyomtatás('A JSON fájl tartalma: n',fileHandler2.olvas())
Kimenet:
A szkript futtatása után a következő kimenet jelenik meg.
Következtetés:
A különböző programozási feladatok megkönnyítése érdekében a szótáradatokat JSON -adatokká kell alakítani. Ez az adatkonverzió azért fontos, mert az adatok könnyen átvihetők egyik szkriptből a másikba a JSON használatával. Remélem, ez az oktatóanyag segíteni fog a python -felhasználóknak abban, hogy tudják, hogyan lehet a szótáradatokat JSON -adatokká alakítani, és megfelelően alkalmazni a szkriptjükben.