Extensible Markup Language (XML) in JavaScript Object Notation (JSON) sta dva znana formata podatkov za shranjevanje podatkov. Tako JSON kot XML nam omogočata, da podatke shranjujemo tako, da jih lahko berejo tako ljudje kot stroji. Za začetek je JSON vrsta podatkovne strukture, ki se v glavnem uporablja za izmenjavo podatkov med strežniki in programskimi aplikacijami. Podatke shrani kot pare ključ / vrednost. JSON ustvari objekt podatkov, pri katerem so pari ključ / vrednost ločeni na podlagi dvopičja (:) in en celoten par ključ / vrednost, ločeni z drugimi na podlagi vejice.
Poleg tega je XML označevalni jezik vrste HTML, ki se uporablja tudi za shranjevanje podatkov. Toda XML ne vsebuje nobenih vnaprej določenih oznak. Lahko ustvarimo lastne oznake in shranimo podatke. Kot smo že razpravljali, se JSON in XML uporabljata za izmenjavo podatkov med strežniki in programskimi aplikacijami. Vendar se obe obliki zapisa podatkov nekoliko razlikujeta. JSON je oblika zapisa podatkovnega tipa, medtem ko XML nima vrste. Datoteke XML shranjujejo podatke samo v obliki niza in težje od datoteke JSON. Datoteke JSON lahko shranijo niz, nize, številke s plavajočo vejico in logične vrednosti.
Ta članek razlaga pretvorbo XML v JSON s pomočjo Pythona. Python xmltodict modul se uporablja za pretvorbo XML v format JSON.
Namestitev modula xmltodict
Preden začnemo pretvarjati XML v JSON, moramo namestiti modul xmltodict. Modul xmltodict je mogoče namestiti s pomočjo paketa indeks python (pip) in v Python 2 in 3. V primeru pip2 za namestitev modula xmltodict izvedite naslednji ukaz:
pip namestite xmltodictČe uporabljate pip3, za namestitev modula xmltodict zaženite naslednji ukaz:
pip3 namestite xmltodict
V primeru sistema, ki temelji na Debianu, zaženite naslednji ukaz za namestitev modula xmltodict:
sudo apt namestite python-xmltodictZgoraj navedeni ukaz je primeren za Python2. V primeru različice Python3 zaženite naslednji ukaz:
sudo apt namestite python3-xmltodict
Pretvorba XML v JSON
Zdaj pa pretvorimo podatke XML v format JSON. Za to pretvorbo bomo uporabili modula xmltodict in JSON. Json je vgrajen modul Python. Zato je potreba po njihovi namestitvi odpravljena. Xmltodict.funkcija parse () pretvori podatke XML v slovar Python. Nato json.funkcija dumps () pretvori pretvorjeni predmet slovarja kot argument in ga nato pretvori v format JSON. Gre torej za dvostopenjski postopek:
Najprej moramo XML pretvoriti v objekt slovarja Python s pomočjo xmltodict.funkcija parse ().
Drugič, pretvorimo objekt slovarja Python v format JSON z uporabo json.funkcija dumps (). V json.funkcija dumps (), lastnost zamika se uporablja za dodajanje presledkov med podatki.
#uvoz modulovuvoz xmltodict
uvoz json
#declaring xml
my_xml = "" "
"" "
#coverting xml v slovar Python
dict_data = xmltodict.razčleni (my_xml)
#coverting v json
json_data = json.odlagališča (dict_data, alinea = 2)
natisni (json_data)
Izhod
Rezultat kaže, da je XML uspešno pretvorjen v format JSON.
Pretvorba datoteke XML v datoteko JSON
Podatke o datotekah XML je mogoče pretvoriti in shraniti v datoteko JSON. Odprimo datoteko XML, pretvorimo podatke XML v JSON in jih shranimo v datoteko JSON.
Sledi datoteka XML.
#uvoz modulov
uvoz json
uvoz xmltodict
# odpiranje datoteke xml
z odprtimi ("hoteli.xml "," r ") kot xmlfileObj:
#converting xml podatkov v slovar
data_dict = xmltodict.razčleni (xmlfileObj.preberi ())
xmlfileObj.zapri ()
#creating JSON objekt z uporabo slovarskega predmeta
jsonObj = json.odlagališča (data_dict)
#storitev podatkov json v datoteko json
z odprtimi ("hoteli.json "," w ") kot jsonfileObj:
jsonfileObj.piši (jsonObj)
jsonfileObj.zapri ()
Izhod
Tolmač Python ne kaže nobene napake; to pomeni, da so podatki JSON uspešno shranjeni v datoteki .json.
Zaključek
XML in JSON sta dve priljubljeni obliki zapisa podatkov za shranjevanje podatkov. Podatke XML je mogoče pretvoriti v format JSON z uporabo modulov xmltodict in JSON. Ta članek s primeri pojasnjuje pretvorbo podatkov XML v JSON.