Extensible Markup Language (XML) a JavaScript Object Notation (JSON) sú dva známe dátové formáty na ukladanie dát. JSON aj XML nám umožňujú ukladať údaje takým spôsobom, aby boli čitateľné pre ľudí aj pre stroje. Na začiatok 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 vytvára objekt dát, kde sú páry kľúč - hodnota oddelené na základe dvojbodky (:) a jeden kompletný pár kľúč - hodnota je oddelený ostatnými na základe čiarky.
Ďalej je XML značkovací jazyk typu HTML, ktorý sa tiež používa na ukladanie údajov. XML ale neposkytuje žiadny druh preddefinovaných značiek. Môžeme si vytvoriť vlastné značky a údaje uložiť. Ako sme už diskutovali, súbory JSON a 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 dátového úložiska typu objektu, zatiaľ čo formát XML nemá žiadny typ. Súbory XML ukladajú údaje iba vo formáte reťazca a ťažšom ako súbor JSON. Zatiaľ čo súbory JSON môžu ukladať reťazce, 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 XML do formátu JSON.
Inštalácia modulu xmltodict
Pred začatím konverzie XML na JSON si musíme nainštalovať modul xmltodict. Modul xmltodict je možné nainštalovať pomocou indexového balíka python (pip) a je možné ho nainštalovať v Pythone 2 a 3. V prípade pip2 vykonajte nasledujúci príkaz na inštaláciu modulu xmltodict:
pip nainštalovať xmltodictAk používate pip3, potom spustite nasledujúci príkaz na inštaláciu modulu xmltodict:
pip3 nainštalovať xmltodict
V prípade systému založeného na Debiane spustite nasledujúci príkaz na inštaláciu modulu xmltodict:
sudo apt nainštalovať python-xmltodictVyššie uvedený príkaz je vhodný pre Python2. V prípade verzie Python3 spustite nasledujúci príkaz:
sudo apt nainštalovať python3-xmltodict
Konverzia XML na JSON
Teraz preveďme údaje XML do formátu JSON. Na túto konverziu použijeme moduly xmltodict a JSON. JSON je zabudovaný modul Python. Preto je vylúčená potreba ich inštalácie. Xmltodikt.Funkcia parse () prevádza údaje XML do slovníka Python. Potom JSON.Funkcia dumps () vezme prevedený slovníkový objekt ako argument a ďalej ho prevedie do formátu JSON. Jedná sa teda o dvojkrokový proces:
Najprv musíme pomocou xmltodict previesť XML do objektu slovníka Python.funkcia parse ().
Po druhé, prevedieme objekt slovníka Python do formátu JSON pomocou json.funkcia dumps (). V json.funkcia dumps (), vlastnosť odsadenie sa používa na pridanie medzier medzi údajmi.
#importovanie modulovimportovať xmltodict
import json
# deklarovanie XML
my_xml = "" "
„“ „
#coverting xml do slovníka Python
dict_data = xmltodict.analyzovať (my_xml)
#coverting to json
json_data = json.skládky (dict_data, odsadenie = 2)
print (json_data)
Výkon
Výstup ukazuje, že XML je úspešne prevedený do formátu JSON.
Konverzia súboru XML na súbor JSON
Údaje súborov XML je možné previesť a uložiť do súboru JSON. Poďme otvoriť súbor XML, previesť údaje XML na JSON a uložiť ich do súboru JSON.
Toto je súbor XML.
#importovanie modulov
import json
importovať xmltodict
# otvorenie xml súboru
s otvorenými („hotely.xml "," r ") ako xmlfileObj:
#konvertovanie údajov XML do slovníka
data_dict = xmltodict.analyzovať (xmlfileObj.čítať())
xmlfileObj.Zavrieť()
#vytvorenie objektu JSON pomocou objektu slovníka
jsonObj = json.skládky (data_dict)
# ukladanie údajov JSON do súboru JSON
s otvorenými („hotely.json "," w ") ako jsonfileObj:
jsonfileObj.write (jsonObj)
jsonfileObj.Zavrieť()
Výkon
Tlmočník Pythonu nevykazuje žiadnu chybu; to znamená, že údaje JSON sa úspešne ukladajú do a .súbor JSON.
Záver
XML a JSON sú dva populárne formáty údajov na ukladanie údajov. Údaje XML možno previesť do formátu JSON pomocou modulu xmltodict a JSON. V tomto článku si vysvetlíme prevod údajov XML na JSON pomocou príkladov.