Python XML -ből JSON -ba

Python Xml Json



Az Extensible Markup Language (XML) és a JavaScript Object Notation (JSON) két híres adatformátum az adatok tárolására. Mind a JSON, mind az XML lehetővé teszi számunkra, hogy az adatokat emberek és gépek számára is olvasható módon tároljuk. Először is, a JSON egy olyan adatstruktúra, amelyet főként a kiszolgálók és a szoftveralkalmazások közötti adatcserére használnak. Kulcs-érték párokként tárolja az adatokat. A JSON objektumot készít az adatokból, ahol a kulcs-érték párokat a kettőspont (:), és egy teljes kulcs-érték pár választja el egymástól a vessző alapján.







Ezenkívül az XML egy HTML típusú jelölőnyelv, amelyet az adatok tárolására is használnak. Az XML azonban nem biztosít semmilyen előre meghatározott címkét. Készíthetünk saját címkéket és tárolhatjuk az adatokat. Amint megbeszéltük, a JSON és az XML egyaránt adatcserére szolgál a szerverek és a szoftveralkalmazások között. A két adatformátum azonban némileg eltér egymástól. A JSON objektumtípusú adattárolási formátum, míg az XML típusnak nincs típusa. Az XML fájlok csak karakterlánc formátumban tárolják az adatokat, és nehezebbek, mint a JSON fájl. Míg a JSON fájlok tárolhatják a karakterláncot, tömböket, lebegőpontos számokat és logikai értékeket.



Ez a cikk elmagyarázza az XML -JSON -konverziót Python használatával. A Python xmltodict modul az XML JSON formátumba konvertálására szolgál.



Az xmltodict modul telepítése

Mielőtt elkezdenénk konvertálni az XML -t JSON -ba, telepítenünk kell az xmltodict modult. Az xmltodict modul telepíthető a python indexcsomaggal (pip), és telepíthető a Python 2 és 3 rendszerre is. A pip2 esetén hajtsa végre a következő parancsot az xmltodict modul telepítéséhez:





pip install xmltodict

Ha pip3 -at használ, akkor futtassa a következő parancsot az xmltodict modul telepítéséhez:

pip3 install xmltodict



Debian alapú rendszer esetén futtassa a következő parancsot az xmltodict modul telepítéséhez:

sudo apt install python-xmltodict

A fent megadott parancs alkalmas a Python2-re. A Python3 verzió esetén futtassa a következő parancsot:

sudo apt install python3-xmltodict

XML - JSON átalakítás

Most alakítsuk át az XML adatokat JSON formátumba. Az átalakításhoz az xmltodict és a JSON modult fogjuk használni. A json egy beépített Python modul. Ezért nincs szükség a telepítésükre. Az xmltodict.parse () függvény átalakítja az XML adatokat Python szótárba. Ezután a json.dumps () függvény argumentumként veszi az átalakított szótár objektumot, és tovább alakítja azt JSON formátumba. Ez tehát kétlépéses folyamat:

Először az XML -t kell átalakítanunk Python szótár objektummá az xmltodict.parse () függvénnyel.

Másodszor, a jyt.dumps () függvénnyel konvertáljuk a Python szótár objektumot JSON formátumba. A json.dumps () függvényben a behúzás tulajdonság segítségével szóközöket adhatunk az adatok közé.

#importálja a modulokat
importxmltodict
importjson
#az xml deklarálása
my_xml= '' ''


1
A Marais kertek
3
Internet
Igaz


2
Arany Tulipán kis palota
4

Internet
Tornaterem
Parkolás
Étterem

Hamis


'' ''

#coverting xml a Python szótárba
dict_data=xmltodict.elemezni(my_xml)
#áttérés a json -ra
json_data=json.guba(dict_data,behúzás=2)
nyomtatás(json_data)

Kimenet

A kimenet azt mutatja, hogy az XML konvertálása JSON formátumba sikerült.

XML fájl JSON fájl konvertálása

Az XML fájlok adatai konvertálhatók és menthetők a JSON fájlba. Nyissuk meg az XML -fájlt, konvertáljuk az XML -adatokat JSON -ra, és tároljuk egy JSON -fájlban.

A következő az XML fájl.

#importálja a modulokat
importjson
importxmltodict
# az xml fájl megnyitása
val vel nyisd ki('hotels.xml','r') mintxmlfileObj:
#konvertálja az xml adatokat szótárba
data_dict=xmltodict.elemezni(xmlfileObj.olvas())
xmlfileObj.Bezárás()
#creating JSON objektum szótár objektum használatával
jsonObj=json.guba(data_dict)

#json adatok tárolása json fájlba
val vel nyisd ki('hotels.json', 'ban ben') mintjsonfileObj:
jsonfileObj.ír(jsonObj)
jsonfileObj.Bezárás()

Kimenet

A Python értelmező nem mutat hibát; ez azt jelenti, hogy a JSON adatokat sikeresen elmentette egy .json fájlba.

Következtetés

Az XML és a JSON két népszerű adatformátum az adatok tárolására. Az XML adatok átalakíthatók JSON formátumba az xmltodict és a JSON modul használatával. Ez a cikk példákkal magyarázza az XML -JSON adatkonverziót.