XML v JSON pretvornik
Podatke ali datoteke XML v vašem brskalniku takoj pretvorite v format JSON. Podpira zamik po meri in obravnava ugnezdene strukture.
Izberite datoteko XML
ali povlecite in spustite sem
Podatke ali datoteke XML v vašem brskalniku takoj pretvorite v format JSON. Podpira zamik po meri in obravnava ugnezdene strukture.
ali povlecite in spustite sem
XML in JSON sta formata za izmenjavo podatkov, vendar prihajata iz različnih obdobij spleta. XML, standardiziran leta 1998, je bil zasnovan kot samoopisni označevalni format z atributi, imenskimi prostori in preverjanjem sheme. JSON se je pojavil v zgodnjih 2000-ih kot lažji format, ki je bolj primeren za izvajanje JavaScript in sodobne API-je. Večina novih spletnih API-jev govori JSON; številni starejši sistemi – storitve SOAP, viri RSS, konfiguracijske datoteke, poslovne integracije – še vedno proizvajajo XML. Pretvarjanje med njimi je ena najpogostejših interop nalog v sodobnem razvoju.
Pretvorba ni popolnoma brez izgub, ker imata formata različno izrazno moč. XML ima atribute (ki jih JSON izvorno nima), razlikuje med besedilno vsebino in imeni elementov ter podpira mešano vsebino (elemente, ki vsebujejo tako besedilo kot podrejene elemente). Preprost model predmeta/matrike JSON ne more neposredno predstavljati teh funkcij, zato pretvorniki uporabljajo konvencije: atributi postanejo ključi s predpono @, besedilna vsebina postane ključ #text in tako naprej.
Ta pretvornik razčleni XML s pomočjo DOMParserja, vgrajenega v brskalnik, in se sprehodi po nastalem drevesu DOM, da ustvari JSON. Elementi z enakim imenom oznake kot bratje in sestre so zbrani v nize; atributi gredo v posebne ključe; imenski prostori in navodila za obdelavo se ohranijo, če so prisotni. Rezultat je človeku berljiv JSON, ki se razumno vrača nazaj v XML.
Večina sodobnih aplikacijskih kod je udobnejša z JSON. JavaScript izvorno razčlenjuje JSON, Pythonov modul json je v standardni knjižnici in praktično vsak drug jezik ima enakovredno prvovrstno podporo za JSON. Obdelava XML zahteva uvoz dodatnih knjižnic in pisanje več predlogov. Pretvorba dohodnega XML v JSON pred obdelavo je pogosto najhitrejša pot od zunanjega vira XML do notranje strukture podatkov.
Orodje se prav tako naslanja na JSON. JSON olepševalcev, validatorjev, validatorjev shem, poizvedovalnih jezikov (jq, JSONPath) in pregledovalnikov je na pretek; ekvivalentov XML je manj in so pogosto starejši. Delo v JSON odklene bogatejši ekosistem orodij.
Prilepite XML, pridobite JSON.
DOMParser ustvari XML DOM, ki je enak tistemu, ki ga brskalnik uporablja za strani XHTML. Pretvornik se po tej DOM sprehaja rekurzivno. Za vsak element ustvari predmet JSON: atributi postanejo ključi s predpono @ (npr. @id, @class); podrejeni elementi elementa so rekurzirani v isto strukturo; besedilna vsebina, ko je prisotna poleg otrok, živi pod ključem #text.
Ponavljajoči se podrejeni elementi z istim imenom oznake so zbrani v matriko JSON. En podrejeni element danega imena se pojavi kot vrednost predmeta; več otrok se prikaže kot niz predmetov. Ta konvencija v praksi dobro deluje, vendar pomeni, da je oblika JSON odvisna od tega, ali se elementi pojavijo enkrat ali večkrat – znana nepopolnost preslikave XML v JSON.
Imenski prostori so ohranjeni kot del imen elementov (prefix:localName). Navodila za obdelavo in razdelki CDATA se pretvorijo v besedilno vsebino. Izjave XML in DOCTYPE so odstranjeni iz izhoda JSON, vendar ne vplivajo na podatke.