Python XML - JSON

Python Xml Json

Laiendatav märgistuskeel (XML) ja JavaScripti objektide märge (JSON) on kaks kuulsat andmete salvestamise vormingut. Nii JSON kui ka XML võimaldavad meil andmeid salvestada nii inimestele kui ka masinatele loetaval viisil. Alustuseks on JSON teatud tüüpi andmestruktuur, mida kasutatakse peamiselt andmete vahetamiseks serverite ja tarkvararakenduste vahel. See salvestab andmed võtme-väärtuse paaridena. JSON teeb andmetest objekti, kus võtmeväärtuste paarid on eraldatud kooloni (:) alusel ja üks täielik võtmeväärtuse paar, mis on koma põhjal teistega eraldatud.



Lisaks on XML HTML -tüüpi märgistuskeel, mida kasutatakse ka andmete salvestamiseks. Kuid XML ei paku mingeid eelmääratud silte. Saame luua oma sildid ja salvestada andmed. Nagu me arutasime, kasutatakse serverite ja tarkvararakenduste vahel andmete vahetamiseks nii JSON -i kui ka XML -i. Need kaks andmevormingut erinevad siiski mõnevõrra. JSON on objektitüüpi andmesalvestusvorming, samas kui XML -il pole seda tüüpi. XML -failid salvestavad andmeid ainult stringivormingus ja raskemad kui JSON -fail. Arvestades, et JSON-failid võivad salvestada stringi, massiive, ujuva numbriga numbreid ja loogilist.



See artikkel selgitab XML -i JSON -i teisendamist Pythoni abil. Python xmltodict moodulit kasutatakse XML -i teisendamiseks JSON -vormingusse.



Xmltodict mooduli paigaldamine

Enne XML -i JSON -i teisendamise alustamist peame installima xmltodict mooduli. Mooduli xmltodict saab installida python indeksipaketi (pip) abil ja seda saab installida ka Python 2 ja 3. Pip2 puhul täitke xmltodict mooduli installimiseks järgmine käsk:

pip install xmltodict

Kui kasutate pip3, käivitage xmltodict mooduli installimiseks järgmine käsk:

pip3 install xmltodict



Debianil põhineva süsteemi puhul käivitage xmltodict mooduli installimiseks järgmine käsk:

sudo apt install python-xmltodict

Ülaltoodud käsk sobib Python2 jaoks. Python3 versiooni puhul käivitage järgmine käsk:

sudo apt install python3-xmltodict

XML -i teisendamine JSON -i

Teisendame nüüd XML -andmed JSON -vormingusse. Selle teisendamise jaoks kasutame moodulit xmltodict ja JSON. Json on sisseehitatud Pythoni moodul. Seetõttu on nende paigaldamise vajadus välistatud. Funktsioon xmltodict.parse () teisendab XML -andmed Pythoni sõnastikku. Seejärel võtab funktsioon json.dumps () argumendina teisendatud sõnastikuobjekti ja teisendab selle JSON -vormingusse. Nii et see on kaheastmeline protsess:

Esiteks peame XML -i teisendama Pythoni sõnastikuobjektiks, kasutades funktsiooni xmltodict.parse ().

Teiseks teisendame Pythoni sõnastikuobjekti JSON -vormingusse, kasutades funktsiooni json.dumps (). Funktsioonis json.dumps () kasutatakse atribuuti taane andmete vahele tühikute lisamiseks.

#moodulite importimine
importxmltodict
importjson
#deklareerimine xml
my_xml= '' '


1
Marais aiad
3
Internet
Tõsi


2
Kuldne Tulbi väike palee
4

Internet
Jõusaal
Parkimine
Restoran

Vale


'' '

#coverting xml Pythoni sõnastikku
dict_data=xmltodict.sõeluda(my_xml)
#üleminek jsonile
json_data=json.prügimäed(dict_data,taane=2)
printida(json_data)

Väljund

Väljund näitab, et XML on edukalt teisendatud JSON -vormingusse.

XML -faili teisendamine JSON -failiks

XML -failide andmeid saab teisendada ja salvestada JSON -faili. Avame XML -faili, teisendame XML -andmed JSON -failiks ja salvestame need JSON -faili.

Järgmine on XML -fail.

#moodulite importimine
importjson
importxmltodict
# xml -faili avamine
koos lahti(„hotels.xml”,'r') naguxmlfileObj:
#converting xml andmed sõnastikku
data_dict=xmltodict.sõeluda(xmlfileObj.loe())
xmlfileObj.Sulge()
#creating JSON objekti kasutades sõnastiku objekti
jsonObj=json.prügimäed(data_dict)

#json -andmete salvestamine json -faili
koos lahti('hotels.json', 'sisse') nagujsonfileObj:
jsonfileObj.kirjutada(jsonObj)
jsonfileObj.Sulge()

Väljund

Pythoni tõlk ei näita ühtegi viga; see tähendab, et JSON -i andmed salvestati edukalt .json -faili.

Järeldus

XML ja JSON on kaks populaarset andmevormingut andmete salvestamiseks. XML -andmed saab teisendada JSON -vormingusse, kasutades xmltodict ja JSON moodulit. See artikkel selgitab XML -i JSON -i andmete teisendamist näidetega.