XML-i JSON-muundur
Teisendage XML-andmed või failid oma brauseris kohe JSON-vormingusse. Toetab kohandatud taanet ja käsitleb pesastatud struktuure.
Valige XML-fail
või lohistage siia
Teisendage XML-andmed või failid oma brauseris kohe JSON-vormingusse. Toetab kohandatud taanet ja käsitleb pesastatud struktuure.
või lohistage siia
XML ja JSON on mõlemad andmevahetuse vormingud, kuid pärinevad erinevatest veebiajastutest. 1998. aastal standarditud XML loodi atribuutide, nimeruumide ja skeemi valideerimisega isekirjeldava märgistusvorminguna. JSON tekkis 2000. aastate alguses kergema vorminguna, mis sobib paremini JavaScripti käitustingimuste ja kaasaegsete API-dega. Enamik uusi veebi API-sid räägivad JSON-i; paljud vanemad süsteemid – SOAP-teenused, RSS-kanalid, konfiguratsioonifailid, ettevõtte integratsioonid – toodavad endiselt XML-i. Nendevaheline teisendamine on kaasaegses arenduses üks levinumaid koostoimeülesandeid.
Teisendamine ei ole täiesti kadudeta, kuna kahel vormingul on erinev väljendusvõime. XML-il on atribuudid (mida JSON natiivselt ei tee), eristab teksti sisu ja elementide nimesid ning toetab segasisu (elemendid, mis sisaldavad nii teksti kui ka alamelemente). JSON-i lihtne objekti-/massiivimudel ei saa neid funktsioone otseselt esindada, seega rakendavad muundurid kokkuleppeid: atribuudid muutuvad @-eesliitega võtmeteks, tekstisisu muutub #tekstivõtmeks ja nii edasi.
See muundur parsib XML-i brauseri sisseehitatud DOMParseri abil ja juhib saadud DOM-puud JSON-i loomiseks. Õdede-vendadega sama sildinimega elemendid kogutakse massiividesse; atribuudid lähevad spetsiaalsetesse võtmetesse; nimeruumid ja töötlemisjuhised säilitatakse, kui need on olemas. Tulemuseks on inimloetav JSON, mis liigub mõistlikult tagasi XML-i.
Enamik kaasaegseid rakenduskoode on JSON-iga mugavam. JavaScript sõelub JSON-i algselt, Pythoni json-moodul on standardteegis ja peaaegu kõigil teistel keeltel on samaväärne esmaklassiline JSON-tugi. XML-i töötlemine nõuab täiendavate teekide importimist ja lisateekide kirjutamist. Sissetuleva XML-i teisendamine JSON-vormingusse enne töötlemist on sageli kiireim tee väliselt XML-voost sisemise andmestruktuurini.
Tööriistad toetuvad ka JSON-ile. JSON-i kaunistajaid, valideerijaid, skeemivalidaatoreid, päringukeeli (jq, JSONPath) ja vaatajaid on palju; XML-i ekvivalente on vähem ja need on sageli vanemad. JSON-is töötamine avab tööriistade rikkalikuma ökosüsteemi.
Kleepige XML, hankige JSON.
DOMParser toodab XML-DOM-i, mis on identne sellega, mida brauser kasutab XHTML-lehtede jaoks. Konverter kõnnib seda DOM-i rekursiivselt. Iga elemendi jaoks loob see JSON-objekti: atribuudid muutuvad võtmeteks, mille eesliide on @ (nt @id, @class); elemendi alamelemendid taastatakse samasse struktuuri; tekstisisu, kui see on koos lastega, elab #teksti klahvi all.
Sama sildinimega korduvad alamelemendid kogutakse JSON-massiivi. Objekti väärtusena kuvatakse üks eesnimega alam; mitu last kuvatakse objektide massiivina. See tava töötab praktikas hästi, kuid tähendab, et JSON-i kuju sõltub sellest, kas elemendid ilmuvad üks või mitu korda – see on XML-JSON-i vastendamise teadaolev puudus.
Nimeruumid säilitatakse elementide nimede osana (eesliide:localName). Töötlemisjuhised ja CDATA jaotised teisendatakse tekstisisuks. XML-deklaratsioonid ja DOCTYPE-id eemaldatakse JSON-väljundist, kuid need ei mõjuta andmeid.