XML (Extensible Markup Language) ja JSON (JavaScript Object Notation) ovat kaksi kuuluisaa datamuotoa tietojen tallentamiseen. Sekä JSON että XML mahdollistavat tietojen tallentamisen ihmisten ja koneiden luettavalla tavalla. Aluksi JSON on eräänlainen tietorakenne, jota käytetään pääasiassa tietojen vaihtamiseen palvelimien ja ohjelmistosovellusten välillä. Se tallentaa tiedot avain-arvo-pareina. JSON tekee datasta objektin, jossa avainarvoparit erotetaan kaksoispisteen (:) perusteella ja yksi täydellinen avain-arvo-pari erotetaan toisistaan pilkun perusteella.
Lisäksi XML on HTML -tyyppinen merkintäkieli, jota käytetään myös tietojen tallentamiseen. XML ei kuitenkaan tarjoa minkäänlaisia ennalta määritettyjä tunnisteita. Voimme luoda omia tunnisteita ja tallentaa tiedot. Kuten keskustelimme, sekä JSONia että XML: ää käytetään tietojen vaihtamiseen palvelimien ja ohjelmistosovellusten välillä. Nämä kaksi tietomuotoa eroavat kuitenkin jonkin verran. JSON on objektityyppinen tietojen tallennusmuoto, kun taas XML: llä ei ole tyyppiä. XML -tiedostot tallentavat tiedot vain merkkijonomuodossa ja raskaampia kuin JSON -tiedosto. JSON-tiedostot voivat tallentaa merkkijonon, matriisit, liukuluvunumerot ja Boolen.
Tässä artikkelissa kerrotaan XML -JSON -muunnoksesta Pythonilla. Python xmltodict -moduulia käytetään XML: n muuntamiseen JSON -muotoon.
Xmltodict -moduulin asennus
Ennen kuin aloitamme XML -muuntamisen JSON -muotoon, meidän on asennettava xmltodict -moduuli. Xmltodict -moduuli voidaan asentaa käyttämällä python -indeksipakettia (pip), ja se voidaan asentaa Python 2: een ja 3. Pip2: n tapauksessa suorita seuraava komento xmltodict -moduulin asentamiseksi:
pip asenna xmltodict
Jos käytät pip3: ta, asenna xmltodict -moduuli suorittamalla seuraava komento:
pip3 asenna xmltodict
Jos kyseessä on Debian -pohjainen järjestelmä, asenna xmltodict -moduuli suorittamalla seuraava komento:
sudo apt asentaa python-xmltodictYllä oleva komento sopii Python2: lle. Suorita seuraava komento Python3 -version tapauksessa:
sudo apt asentaa python3-xmltodict
XML -JSON -muunnos
Muunnetaan nyt XML -tiedot JSON -muotoon. Käytämme xmltodict- ja JSON -moduulia tässä muunnoksessa. Json on sisäänrakennettu Python-moduuli. Siksi niiden asentamisen tarve poistuu. Funktio xmltodict.parse () muuntaa XML -tiedot Python -sanakirjaksi. Sitten json.dumps () -funktio ottaa muunnetun sanakirjaobjektin argumentiksi ja muuntaa sen edelleen JSON -muotoon. Tämä on siis kaksivaiheinen prosessi:
Ensin meidän on muunnettava XML Python -sanakirjaobjektiksi käyttämällä xmltodict.parse () -funktiota.
Toiseksi muunnamme Python -sanakirjaobjektin JSON -muotoon käyttämällä json.dumps () -funktiota. Json.dumps () -funktiossa sisennysominaisuutta käytetään lisäämään välilyöntejä tietojen väliin.
#moduulien tuontituontixmltodict
tuontijson
#xml: n ilmoittaminen
my_xml= '' ''
1
Marais'n puutarhat
3
Internet
Totta
2
Golden Tulip Little Palace
4
Internet
kuntosali
Pysäköinti
Ravintola
Väärä
'' ''
#coverting xml Python -sanakirjaan
dict_data=xmltodict.jäsentää(my_xml)
#siirtyminen jsoniksi
json_data=json.kaatopaikkoja(dict_data,sisennys=2)
Tulosta(json_data)
Lähtö
Tulos osoittaa, että XML on muunnettu onnistuneesti JSON -muotoon.
XML -tiedoston muuntaminen JSON -tiedostoksi
XML -tiedostojen tiedot voidaan muuntaa ja tallentaa JSON -tiedostoksi. Avaa XML -tiedosto, muunna XML -tiedot JSON -tiedostoksi ja tallenna ne JSON -tiedostoon.
Seuraava on XML -tiedosto.
#moduulien tuonti
tuontijson
tuontixmltodict
# xml -tiedoston avaaminen
kanssa avata('hotels.xml','r') kutenxmlfileObj:
#converting xml data to dictionary
data_dict=xmltodict.jäsentää(xmlfileObj.lukea())
xmlfileObj.kiinni()
#creating JSON -objekti sanakirjaobjektin avulla
jsonObj=json.kaatopaikkoja(data_dict)
#json -tietojen tallentaminen json -tiedostoon
kanssa avata('hotels.json', 'sisään') kutenjsonfileObj:
jsonfileObj.kirjoittaa(jsonObj)
jsonfileObj.kiinni()
Lähtö
Python -tulkki ei näytä virheitä; se tarkoittaa, että JSON -tiedot on tallennettu .json -tiedostoon.
Johtopäätös
XML ja JSON ovat kaksi suosittua datamuotoa tietojen tallentamiseen. XML -tiedot voidaan muuntaa JSON -muotoon käyttämällä xmltodict- ja JSON -moduulia. Tässä artikkelissa kerrotaan XML -JSON -tietojen muuntamisesta esimerkeillä.