Brezplačni pretvornik

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

oz

O tem orodju

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.

Zakaj pretvoriti XML v JSON

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.

Kako uporabljati

Prilepite XML, pridobite JSON.

  1. Prilepite ali naložite svoj XML: Prilepite besedilo XML v vnosno območje ali spustite datoteko. XML mora biti dobro oblikovan; napačno oblikovan XML povzroči napako pri razčlenjevanju namesto ugibanja.
  2. Pretvori: DOMParser zgradi DOM, pretvornik se sprehodi po vsakem elementu, JSON pa se generira z uporabo ključev atributov (@attr) in ključev besedilne vsebine (#text), kjer je to potrebno. Sorodni elementi z istim imenom postanejo nizi.
  3. Preglejte strukturo: Preglejte JSON, da potrdite, da so atributi, besedilo in gnezdenje preslikani po pričakovanjih. Uporabljene konvencije (npr. @ za atribute) so vidne v izhodu.
  4. Prenesite ali kopirajte: Shrani kot .json ali kopiraj v odložišče.

Pogosti primeri uporabe

Tehnične podrobnosti

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.

Najboljše prakse

Pogosta vprašanja

Ali pretvorba XML v JSON spremeni vsebino?
Vsebina je ohranjena čim bolj natančno. Vendar pa nekatere funkcije, specifične za obliko, morda nimajo neposrednih ustreznikov, zato lahko pride do manjših razlik v oblikovanju.
Zakaj pretvoriti podatke v format JSON?
JSON je standardni format podatkov za spletne API-je in aplikacije JavaScript. Je človeku berljiv, široko podprt v programskih jezikih in ima enostavnejšo sintakso kot XML.
Ali pretvornik obravnava ugnezdene ali kompleksne strukture XML?
ja Orodje pravilno razčleni ugnezdene predmete, polja in vse standardne vrste podatkov XML, pri čemer ohrani celotno podatkovno strukturo v izhodu JSON.
Je ta pretvorba varna in zasebna?
ja Vsa obdelava poteka lokalno v vašem brskalniku. Vaši podatki nikoli ne zapustijo vaše naprave – brez nalaganja na strežnik, brez obdelave v oblaku, brez zbiranja podatkov.
Ali se obravnavajo razdelki CDATA?
ja Vsebina CDATA se pretvori v golo besedilo v izhodu JSON. Sama obloga CDATA ni ohranjena, vsebina pa je.
Ali so moji podatki naloženi na strežnik?
Ne. DOMParser se izvaja v vašem brskalniku; pretvorba se v celoti zgodi v vaši napravi.
Se bo JSON vrnil v XML?
Da, če uporabljate inverzno konvencijo (orodje JSON v XML sledi istim pravilom @attr in #text). Povratno potovanje ohranja strukturo za tipični XML; nekateri robni primeri (vrstni red mešane vsebine, navodila za obdelavo) morda ne bodo popolnoma preživeli.
Kakšna je največja velikost vnosa?
Do 50 MB. DOMParser je omejen na pomnilnik vašega brskalnika; zelo velike datoteke XML se lahko upočasnijo ali ne razčlenijo.