Python

Python XML v JSON

Python XML v JSON

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-xmltodict

Zgoraj 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 modulov
uvoz xmltodict
uvoz json
#declaring xml
my_xml = "" "


1
Les Jardins du Marais
3
Internet
Prav


2
Mala palača Zlati tulipan
4

Internet
Telovadnica
Parkirišče
Restavracija

Lažno


"" "
#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.

SuperTuxKart za Linux
SuperTuxKart je odličen naslov, zasnovan tako, da vam brezplačno ponuja izkušnjo Mario Kart v vašem sistemu Linux. Igrati je precej zahtevno in zabavn...
Vadnica za bitko za Wesnoth
Bitka za Wesnoth je ena izmed najbolj priljubljenih odprtokodnih strateških iger, ki jih lahko trenutno igrate. Ne samo, da se ta igra razvija že zelo...
0 A.D. Vadnica
Od številnih strateških iger tam 0 A.D. uspe izstopati kot izčrpen naslov in zelo globoka, taktična igra, čeprav je odprtokodna. Razvoj igre deluje ze...