XML kohteeseen JSON-muunnin
Muunna XML-tiedot tai -tiedostot JSON-muotoon välittömästi selaimessasi. Tukee mukautettua sisennystä ja käsittelee sisäkkäisiä rakenteita.
Valitse XML-tiedosto
tai vedä ja pudota tähän
Muunna XML-tiedot tai -tiedostot JSON-muotoon välittömästi selaimessasi. Tukee mukautettua sisennystä ja käsittelee sisäkkäisiä rakenteita.
tai vedä ja pudota tähän
XML ja JSON ovat molemmat tiedonsiirtomuotoja, mutta ne ovat peräisin verkon eri aikakausilta. XML, standardoitu vuonna 1998, suunniteltiin itsekuvaavaksi merkintämuodoksi attribuuttien, nimiavaruuksien ja skeeman validoinnin kanssa. JSON syntyi 2000-luvun alussa kevyempänä muotona, joka sopii paremmin JavaScript-ajoajoihin ja nykyaikaisiin sovellusliittymiin. Suurin osa uusista verkkosovellusliittymistä puhuu JSONia. monet vanhemmat järjestelmät – SOAP-palvelut, RSS-syötteet, konfigurointitiedostot, yritysintegraatiot – tuottavat edelleen XML:ää. Niiden välinen muuntaminen on yksi yleisimmistä yhteensovitustehtävistä nykyaikaisessa kehityksessä.
Muunnos ei ole täysin häviötön, koska molemmilla muodoilla on erilainen ilmaisuvoima. XML:ssä on attribuutteja (jota JSON ei natiivisti tee), erottaa tekstisisällön ja elementtien nimet ja tukee sekasisältöä (elementtejä, jotka sisältävät sekä tekstiä että alielementtejä). JSONin suoraviivainen objekti/taulukkomalli ei voi edustaa suoraan näitä ominaisuuksia, joten muuntimet soveltavat käytäntöjä: attribuuteista tulee @-etuliite avaimia, tekstisisällöstä #tekstiavain ja niin edelleen.
Tämä muunnin jäsentää XML:n selaimen sisäänrakennetun DOMParserin avulla ja ohjaa tuloksena olevaa DOM-puuta JSONin tuottamiseksi. Elementit, joilla on sama nimiö kuin sisaruksilla, kerätään taulukoihin; attribuutit menevät erikoisavaimiin; nimitilat ja käsittelyohjeet säilytetään, kun ne ovat olemassa. Tuloksena on ihmisen luettava JSON, joka palaa kohtuullisesti takaisin XML:ään.
Useimmat nykyaikaiset sovelluskoodit ovat mukavampia JSONin kanssa. JavaScript jäsentää JSONin natiivisti, Pythonin json-moduuli on vakiokirjastossa ja käytännössä kaikilla muilla kielillä on vastaava ensiluokkainen JSON-tuki. XML-käsittely vaatii lisäkirjastojen tuomista ja lisää kirjoituksia. Saapuvan XML:n muuntaminen JSON-muotoon ennen käsittelyä on usein nopein polku ulkoisesta XML-syötteestä sisäiseen tietorakenteeseen.
Myös työkalut nojaavat JSON:iin. JSON kaunistajia, validaattoreita, skeeman tarkistajia, kyselykieliä (jq, JSONPath) ja katseluohjelmia on runsaasti. XML-vastineet ovat vähemmän ja usein vanhempia. Työskentely JSONissa avaa rikkaamman työkaluekosysteemin.
Liitä XML, hanki JSON.
DOMParser tuottaa XML DOM:n, joka on identtinen sen kanssa, mitä selain käyttää XHTML-sivuille. Muunnin kävelee tämän DOM:n rekursiivisesti. Jokaiselle elementille se luo JSON-objektin: attribuuteista tulee avaimia, joissa on @-etuliite (esim. @id, @class); elementin lapsielementit rekursoidaan samaan rakenteeseen; tekstisisältö, kun se on lasten rinnalla, elää #tekstiavaimen alla.
Toistuvat alielementit, joilla on sama tunnistenimi, kerätään JSON-taulukkoon. Yksittäinen tietyn nimen lapsi näkyy objektiarvona; useita lapsia esiintyy joukkona esineitä. Tämä käytäntö toimii hyvin käytännössä, mutta tarkoittaa, että JSON-muoto riippuu siitä, esiintyvätkö elementit kerran vai useita kertoja – XML-JSON-kartoituksen tunnettu epätäydellisyys.
Nimiavaruudet säilytetään osana elementin nimiä (etuliite:localName). Käsittelyohjeet ja CDATA-osat muunnetaan tekstisisällöksi. XML-ilmoitukset ja DOCTYPE-tunnisteet poistetaan JSON-tulosta, mutta ne eivät vaikuta tietoihin.