Python XML v JSON

Python Xml Json



Razširljivi označevalni jezik (XML) in zapis objekta JavaScript (JSON) sta dva znana formata podatkov za shranjevanje podatkov. Tako JSON kot XML nam omogočata shranjevanje podatkov na način, ki ga lahko berejo ljudje in stroji. Za začetek je JSON vrsta podatkovne strukture, ki se večinoma uporablja za izmenjavo podatkov med strežniki in programskimi aplikacijami. Podatke shranjuje v parih ključ-vrednost. JSON naredi objekt podatkov, kjer so pari ključ-vrednost ločeni na podlagi dvopičja (:), in en popoln par ključ-vrednost, ločen z drugimi na podlagi vejice.







Poleg tega je XML označevalni jezik tipa HTML, ki se uporablja tudi za shranjevanje podatkov. Vendar XML ne ponuja nobenih vnaprej določenih oznak. Ustvarjamo lahko lastne oznake in shranjujemo podatke. Kot smo razpravljali, se JSON in XML uporabljata za izmenjavo podatkov med strežniki in programskimi aplikacijami. Vendar se oba formata podatkov nekoliko razlikujeta. JSON je oblika shranjevanja podatkov tipa objekta, medtem ko XML nima vrste. Datoteke XML podatke shranjujejo samo v obliki niza in težje od datoteke JSON. Medtem ko lahko datoteke JSON shranjujejo niz, matrike, številke s plavajočo vejico in logične vrednosti.



Ta članek razlaga pretvorbo XML v JSON z uporabo Pythona. Modul Python xmltodict se uporablja za pretvorbo XML v format JSON.



Namestitev modula xmltodict

Preden začnemo pretvarjati XML v JSON, moramo namestiti modul xmltodict. Modul xmltodict lahko namestite s paketom indeksa python (pip) in ga lahko namestite v Python 2 in 3. V primeru pip2 izvedite naslednji ukaz za namestitev modula xmltodict:





pip install xmltodict

Če uporabljate pip3, zaženite naslednji ukaz, da namestite modul xmltodict:

pip3 namestite xmltodict



V primeru sistema, ki temelji na Debianu, za namestitev modula xmltodict zaženite naslednji ukaz:

sudo apt namestite python-xmltodict

Zgornji ukaz je primeren za Python2. V primeru različice Python3 zaženite naslednji ukaz:

sudo apt namestite python3-xmltodict

Pretvorba XML v JSON

Zdaj pretvorimo podatke XML v obliko JSON. Za to pretvorbo bomo uporabili modul xmltodict in JSON. Json je vgrajen modul Python. Zato je potreba po njihovi namestitvi odpravljena. Funkcija xmltodict.parse () pretvori podatke XML v slovar Python. Nato funkcija json.dumps () vzame pretvorjen slovarski objekt kot argument in ga nato pretvori v format JSON. Gre torej za postopek v dveh korakih:

Najprej moramo pretvoriti XML v slovarski objekt Python s funkcijo xmltodict.parse ().

Drugič, s pomočjo funkcije json.dumps () pretvorimo objekt slovarja Python v format JSON. V funkciji json.dumps () se lastnost zamika uporablja za dodajanje presledkov med podatki.

#uvoz modulov
uvozxmltodict
uvozjson
#declaring the xml
moj_xml= '' '


1
Vrtovi Marais
3
Internet
Prav


2
Mala palača Golden Tulip
4

Internet
Telovadnica
Parkirišče
Restavracija

Napačno


'' '

#coverting xml v slovar Python
dict_data=xmltodict.razčleniti(moj_xml)
#pokrivanje za json
json_data=json.odlagališča(dict_data,alinea=2)
tiskanje(json_data)

Izhod

Izhod prikazuje, da je XML uspešno pretvorjen v format JSON.

Pretvorba datoteke XML v datoteko JSON

Podatke datotek 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
uvozjson
uvozxmltodict
# odpiranje datoteke xml
z odprto('hotels.xml','r') kotxmlfileObj:
#Pretvarjanje podatkov xml v slovar
data_dict=xmltodict.razčleniti(xmlfileObj.prebrati())
xmlfileObj.blizu()
#creating JSON object using dictionary object
jsonObj=json.odlagališča(data_dict)

#shranjevanje podatkov json v datoteko json
z odprto('hotels.json', 'in') kotjsonfileObj:
jsonfileObj.pisati(jsonObj)
jsonfileObj.blizu()

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 za shranjevanje podatkov. Podatke XML je mogoče pretvoriti v format JSON z uporabo modulov xmltodict in JSON. Ta članek s primeri razlaga pretvorbo podatkov XML v JSON.