Python XML do JSON

Python Xml Json



Extensible Markup Language (XML) a JavaScript Object Notation (JSON) sú dva známe dátové formáty na ukladanie údajov. JSON aj XML nám umožňujú ukladať údaje tak, aby boli čitateľné pre ľudí aj pre stroje. Na začiatku je JSON typ dátovej štruktúry, ktorý sa používa hlavne na výmenu údajov medzi servermi a softvérovými aplikáciami. Ukladá údaje ako páry kľúč-hodnota. JSON robí objekt údajov, kde sú páry kľúč-hodnota oddelené na základe dvojbodky (:) a jeden úplný pár kľúč-hodnota oddelené inými na základe čiarky.







XML je navyše značkovací jazyk typu HTML, ktorý sa používa aj na ukladanie údajov. XML však neposkytuje žiadne preddefinované značky. Môžeme si vytvárať vlastné značky a ukladať údaje. Ako sme diskutovali, JSON aj XML sa používajú na výmenu údajov medzi servermi a softvérovými aplikáciami. Oba formáty údajov sa však trochu líšia. JSON je formát ukladania údajov objektového typu, zatiaľ čo XML nemá žiadny typ. Súbory XML ukladajú údaje iba vo formáte reťazcov a ťažšie ako súbor JSON. Zatiaľ čo súbory JSON môžu ukladať reťazec, polia, čísla s pohyblivou rádovou čiarkou a logickú hodnotu.



Tento článok vysvetľuje konverziu XML na JSON pomocou Pythonu. Modul Python xmltodict sa používa na prevod formátu XML do formátu JSON.



Inštalácia modulu xmltodict

Pred konverziou XML na JSON musíme nainštalovať modul xmltodict. Modul xmltodict je možné nainštalovať pomocou balíka python index (pip) a je možné ho nainštalovať v jazykoch Python 2 a 3. V prípade pip2 vykonajte nasledujúci príkaz na nainštalovanie modulu xmltodict:





pip install xmltodict

Ak používate pip3, spustite nasledujúci príkaz na nainštalovanie modulu xmltodict:

pip3 nainštalujte xmltodict



V prípade systému založeného na Debiane spustite nasledujúci príkaz na nainštalovanie modulu xmltodict:

sudo apt install python-xmltodict

Vyššie uvedený príkaz je vhodný pre Python2. V prípade verzie Python3 spustite nasledujúci príkaz:

sudo apt install python3-xmltodict

Konverzia XML na JSON

Teraz skonvertujme údaje XML do formátu JSON. Na túto konverziu použijeme modul xmltodict a JSON. JSON je vstavaný modul Pythonu. Preto je potreba ich inštalácie eliminovaná. Funkcia xmltodict.parse () prevádza údaje XML do slovníka Python. Potom funkcia json.dumps () vezme konvertovaný objekt slovníka ako argument a ďalej ho prevedie do formátu JSON. Ide teda o dva kroky:

Najprv musíme previesť objekt XML do slovníka Python pomocou funkcie xmltodict.parse ().

Za druhé, prevádzame objekt slovníka Pythonu do formátu JSON pomocou funkcie json.dumps (). Vo funkcii json.dumps () sa vlastnosť odsadenia používa na pridanie medzier medzi údaje.

#import modulov
importxmltodict
importjson
#deklarovanie xml
my_xml= '' '


1
Záhrady Marais
3
Internet
Pravda


2
Malý palác Zlatý tulipán
4

Internet
telocvičňa
Parkovisko
Reštaurácia

Falošné


'' '

#coverting xml do slovníka Pythonu
dict_data=xmltodict.analyzovať(my_xml)
#coverting to json
json_data=json.skládky(dict_data,zarážka=2)
vytlačiť(json_data)

Výkon

Výstup ukazuje, že XML je úspešne prevedený do formátu JSON.

Konverzia súboru XML na JSON

Údaje súborov XML je možné previesť a uložiť do súboru JSON. Otvoríme súbor XML, skonvertujeme údaje XML na JSON a uložíme ich do súboru JSON.

Nasleduje súbor XML.

#import modulov
importjson
importxmltodict
# otvorenie súboru xml
s otvorené('hotels.xml','r') akoxmlfileObj:
#konvertovanie údajov xml do slovníka
data_dict=xmltodict.analyzovať(xmlfileObj.čítať())
xmlfileObj.Zavrieť()
#creating JSON object using dictionary object
jsonObj=json.skládky(data_dict)

#ukladanie údajov json do súboru json
s otvorené('hotels.json', 'in') akojsonfileObj:
jsonfileObj.písať(jsonObj)
jsonfileObj.Zavrieť()

Výkon

Tlmočník Python nevykazuje žiadnu chybu; znamená to, že údaje JSON sa úspešne uložia do súboru .json.

Záver

XML a JSON sú dva obľúbené dátové formáty na ukladanie údajov. Údaje XML je možné previesť do formátu JSON pomocou modulu xmltodict a JSON. Tento článok vysvetľuje konverziu údajov XML na JSON s príkladmi.