Ilmainen muunnin

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

Tai

Tietoa tästä työkalusta

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.

Miksi muuntaa XML JSONiksi

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.

Käyttöohjeet

Liitä XML, hanki JSON.

  1. Liitä tai lähetä XML: Liitä XML-teksti syöttöalueelle tai pudota tiedosto. XML:n tulee olla hyvin muotoiltu; väärin muotoiltu XML tuottaa jäsennysvirheen arvauksen sijaan.
  2. Muunna: DOMParser rakentaa DOM:n, muunnin kävelee jokaisen elementin ja JSON luodaan käyttämällä attribuuttiavaimia (@attr) ja tekstisisältöavaimia (#text) tarvittaessa. Sisarelementeistä, joilla on sama nimi, tulee taulukoita.
  3. Tarkista rakenne: Tarkista JSON varmistaaksesi, että attribuutit, teksti ja sisäkkäisyydet on kartoitettu odotetulla tavalla. Käytetyt käytännöt (esim. @ attribuuteille) näkyvät tulosteessa.
  4. Lataa tai kopioi: Tallenna .json-muodossa tai kopioi leikepöydälle.

Yleiset käyttötapaukset

Tekniset tiedot

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.

Parhaat käytännöt

Usein kysytyt kysymykset

Muuttaako XML:n muuntaminen JSON-muotoon sisältöä?
Sisältö säilytetään mahdollisimman tarkasti. Joillakin muotokohtaisilla ominaisuuksilla ei kuitenkaan välttämättä ole suoria vastineita, joten pieniä muotoilueroja voi esiintyä.
Miksi muuntaa tiedot JSON-muotoon?
JSON on verkkosovellusliittymien ja JavaScript-sovellusten vakiotietomuoto. Se on ihmisten luettavissa, ohjelmointikielet tukevat laajasti, ja sen syntaksi on yksinkertaisempi kuin XML.
Käsitteleekö muunnin sisäkkäisiä tai monimutkaisia XML-rakenteita?
Kyllä. Työkalu jäsentää oikein sisäkkäiset objektit, taulukot ja kaikki standardit XML-tietotyypit säilyttäen JSON-ulostulon täyden tietorakenteen.
Onko tämä muunnos turvallinen ja yksityinen?
Kyllä. Kaikki käsittely tapahtuu paikallisesti selaimessasi. Tietosi eivät koskaan poistu laitteestasi – ei palvelimelle latausta, ei pilvikäsittelyä, ei tiedonkeruuta.
Käsitelläänkö CDATA-osioita?
Kyllä. CDATA-sisältö muunnetaan pelkäksi tekstiksi JSON-lähdössä. Itse CDATA-käärettä ei säilytetä, mutta sisältö säilyy.
Ladataanko tietoni palvelimelle?
Ei. DOMParser toimii selaimessasi; muunnos tapahtuu kokonaan laitteellasi.
Palaako JSON edestakaisin XML:ään?
Kyllä, jos käytät käänteistä käytäntöä (JSON-XML-työkalu noudattaa samoja @attr- ja #text-sääntöjä). Edestakainen matka säilyttää rakenteen tyypilliselle XML:lle; jotkin reunatapaukset (sekasisältöinen järjestys, käsittelyohjeet) eivät välttämättä selviä täydellisesti.
Mikä on suurin syötteen koko?
Jopa 50 Mt. DOMParser on selaimesi muistin rajoittama; erittäin suuret XML-tiedostot voivat hidastaa tai epäonnistua jäsentämisessä.