Hogyan lehet átalakítani a szótárt JSON -ba pythonban

How Convert Dictionary Json Python



JSON (JavaScript Object Notation) egy népszerű fájlformátum a strukturált adatok bemutatására és az adatok egyszerű átvitelére a szerver és az alkalmazás között. Ennek a fájlnak a felépítése hasonló néhány Python -objektumhoz, például listához, sorhoz és szótárhoz. Bármely szótári objektumot konvertálhat a JSON objektum segítségével lerak() és guba() módszerei a json modul. Ez a cikk bemutatja, hogyan lehet bármilyen szótári objektumot JSON objektummá konvertálni a pythonban.

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.