Python XML u JSON

Python Xml Json

Proširivi jezik označavanja (XML) i JavaScript objektna notacija (JSON) dva su poznata formata podataka za pohranu podataka. I JSON i XML omogućuju nam pohranjivanje podataka na način koji je čitljiv i ljudima i strojevima. Za početak, JSON je vrsta strukture podataka koja se uglavnom koristi za razmjenu podataka između poslužitelja i softverskih aplikacija. Pohranjuje podatke kao parove ključ-vrijednost. JSON čini objekt podataka u kojem su parovi ključ-vrijednost odvojeni na temelju dvotočke (:), i jedan potpuni par ključ-vrijednost odvojen drugima na temelju zareza.



Nadalje, XML je jezik za označavanje tipa HTML koji se također koristi za spremanje podataka. No, XML ne nudi nikakve vrste unaprijed definiranih oznaka. Možemo stvoriti vlastite oznake i pohraniti podatke. Kao što smo raspravljali, i JSON i XML koriste se za razmjenu podataka između poslužitelja i softverskih aplikacija. Međutim, dva formata podataka donekle se razlikuju. JSON je format za pohranu podataka tipa objekta, dok XML nema vrstu. XML datoteke pohranjuju podatke samo u string formatu i teže od JSON datoteke. Dok JSON datoteke mogu pohraniti niz, nizove, brojeve s pomičnim zarezom i logičke vrijednosti.



Ovaj članak objašnjava pretvorbu XML u JSON pomoću Pythona. Python xmltodict modul koristi se za pretvaranje XML -a u JSON format.



Instalacija modula xmltodict

Prije nego počnemo pretvarati XML u JSON, moramo instalirati modul xmltodict. Modul xmltodict može se instalirati pomoću paketa python index (pip), a može se instalirati u Python 2 i 3. U slučaju pip2, izvedite sljedeću naredbu za instaliranje modula xmltodict:

pip install xmltodict

Ako koristite pip3, pokrenite sljedeću naredbu za instaliranje modula xmltodict:

pip3 instalirajte xmltodict



U slučaju sustava temeljenog na Debianu, pokrenite sljedeću naredbu za instaliranje modula xmltodict:

sudo apt install python-xmltodict

Gore navedena naredba prikladna je za Python2. U slučaju verzije Python3, pokrenite sljedeću naredbu:

sudo apt install python3-xmltodict

Pretvorba XML u JSON

Sada pretvorimo XML podatke u JSON format. Za ovu ćemo pretvorbu koristiti xmltodict i JSON modul. Json je ugrađeni Python modul. Stoga je eliminirana potreba za njihovom instalacijom. Funkcija xmltodict.parse () pretvara XML podatke u rječnik Python. Zatim funkcija json.dumps () uzima pretvoreni objekt rječnika kao argument i dalje ga pretvara u JSON format. Dakle, ovo je proces u dva koraka:

Prvo moramo pretvoriti XML u objekt rječnika Python pomoću funkcije xmltodict.parse ().

Drugo, konvertiramo objekt rječnika Python u JSON format pomoću funkcije json.dumps (). U funkciji json.dumps () svojstvo uvlačenja koristi se za dodavanje razmaka između podataka.

#importiranje modula
uvozxmltodict
uvozjson
#deklariranje xml -a
moj_xml= '' '


1
Vrtovi Marais
3
Internet
Pravi


2
Mala palača Zlatni tulipan
4

Internet
Teretana
Parkiralište
Restoran

Netočno


'' '

#covering xml u rječnik Python
dict_data=xmltodict.raščlaniti(moj_xml)
#pokrivanje za json
json_data=json.deponije(dict_data,uvlačenje=2)
ispisati(json_data)

Izlaz

Izlaz pokazuje da je XML uspješno pretvoren u JSON format.

Pretvaranje XML datoteke u JSON datoteku

Podaci XML datoteka mogu se pretvoriti i spremiti u JSON datoteku. Otvorimo XML datoteku, pretvorimo XML podatke u JSON i spremimo ih u JSON datoteku.

Slijedi XML datoteka.

#importiranje modula
uvozjson
uvozxmltodict
# otvaranje xml datoteke
s otvorena('hotels.xml','r') kaoxmlfileObj:
#konvertiranje xml podataka u rječnik
data_dict=xmltodict.raščlaniti(xmlfileObj.čitati())
xmlfileObj.Zatvoriti()
#creating JSON objekt pomoću objekta rječnika
jsonObj=json.deponije(data_dict)

#pohranjivanje json podataka u json datoteku
s otvorena('hotels.json', 'u') kaojsonfileObj:
jsonfileObj.pisati(jsonObj)
jsonfileObj.Zatvoriti()

Izlaz

Tumač Python ne pokazuje nikakvu pogrešku; to znači da su JSON podaci uspješno spremljeni u .json datoteku.

Zaključak

XML i JSON dva su popularna formata podataka za pohranu podataka. XML podaci mogu se pretvoriti u JSON format pomoću modula xmltodict i JSON. Ovaj članak objašnjava primjere pretvorbe podataka XML u JSON.