Extensible Markup Language (XML) a JavaScript Object Notation (JSON) jsou dva slavné datové formáty pro ukládání dat. JSON i XML nám umožňují ukládat data takovým způsobem, který je čitelný pro člověka i pro stroje. Za prvé, JSON je typ datové struktury, který se používá hlavně k výměně dat mezi servery a softwarovými aplikacemi. Ukládá data jako páry klíč – hodnota. JSON vytvoří objekt dat, kde jsou páry klíč – hodnota odděleny na základě dvojtečky (:) a jeden kompletní pár klíč – hodnota odděleny ostatními na základě čárky.
XML je dále značkovací jazyk typu HTML, který se také používá k ukládání dat. XML však neposkytuje žádný druh předdefinovaných značek. Můžeme vytvořit vlastní značky a ukládat data. Jak jsme diskutovali, JSON i XML se používají k výměně dat mezi servery a softwarovými aplikacemi. Oba datové formáty se však poněkud liší. JSON je formát datového úložiště typu objektu, zatímco XML nemá žádný typ. Soubory XML ukládají data pouze ve formátu řetězce a těžší než soubor JSON. Vzhledem k tomu, že soubory JSON mohou ukládat řetězec, pole, čísla s plovoucí desetinnou čárkou a logickou hodnotu.
Tento článek vysvětluje převod XML na JSON pomocí Pythonu. Modul Python xmltodict se používá k převodu XML do formátu JSON.
Instalace modulu xmltodict
Před zahájením převodu XML na JSON musíme nainstalovat modul xmltodict. Modul xmltodict lze nainstalovat pomocí indexového balíčku pythonu (pip) a lze jej nainstalovat v Pythonu 2 a 3. V případě pip2 proveďte následující příkaz k instalaci modulu xmltodict:
pip install xmltodictPokud používáte pip3, spusťte následující příkaz k instalaci modulu xmltodict:
pip3 nainstalujte xmltodict
V případě systému založeného na Debianu spusťte následující příkaz a nainstalujte modul xmltodict:
sudo apt nainstalovat python-xmltodictVýše uvedený příkaz je vhodný pro Python2. V případě verze Python3 spusťte následující příkaz:
sudo apt nainstalovat python3-xmltodict
Převod XML na JSON
Nyní pojďme převést data XML do formátu JSON. Pro tuto konverzi použijeme modul xmltodict a JSON. JSON je vestavěný modul Pythonu. Proto je potřeba je instalovat. Xmltodict.Funkce parse () převádí data XML do slovníku Pythonu. Potom JSON.Funkce dumps () vezme převedený slovníkový objekt jako argument a dále jej převede do formátu JSON. Jedná se tedy o dvoukrokový proces:
Nejprve musíme převést XML na objekt slovníku Pythonu pomocí xmltodict.funkce parse ().
Za druhé převádíme objekt slovníku Pythonu do formátu JSON pomocí json.funkce dumps (). V JSON.funkce dumps (), vlastnost odsazení slouží k přidání mezer mezi data.
#importování modulůimportovat xmltodict
importovat JSON
# deklarace XML
my_xml = "" "
„“ „
#coverting xml to Python dictionary
dict_data = xmltodict.analyzovat (my_xml)
#coverting to json
json_data = json.skládky (dict_data, odsazení = 2)
tisk (json_data)
Výstup
Výstup ukazuje, že XML je úspěšně převeden do formátu JSON.
Převod souboru XML na soubor JSON
Data souborů XML lze převést a uložit do souboru JSON. Pojďme otevřít soubor XML, převést data XML na JSON a uložit je do souboru JSON.
Následuje soubor XML.
#importování modulů
importovat JSON
importovat xmltodict
# otevření souboru XML
s otevřenými ("hotely.xml "," r ") jako xmlfileObj:
# převod dat XML do slovníku
data_dict = xmltodict.analyzovat (xmlfileObj.číst())
xmlfileObj.zavřít()
#creating JSON object using dictionary object
jsonObj = json.skládky (data_dict)
# ukládání dat JSON do souboru JSON
s otevřenými ("hotely.json "," w ") jako jsonfileObj:
jsonfileObj.write (jsonObj)
jsonfileObj.zavřít()
Výstup
Interpret Pythonu nevykazuje žádnou chybu; to znamená, že data JSON jsou úspěšně uložena v .soubor JSON.
Závěr
XML a JSON jsou dva populární datové formáty pro ukládání dat. Data XML lze převést do formátu JSON pomocí modulu xmltodict a JSON. Tento článek vysvětluje převod dat XML na JSON pomocí příkladů.