Tasuta konverter

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

Või

Sellest tööriistast

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.

Miks teisendada XML JSON-iks?

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.

Kuidas kasutada

Kleepige XML, hankige JSON.

  1. Kleepige või laadige üles oma XML: Kleepige XML-tekst sisestusalale või pukseerige fail. XML peab olema hästi vormistatud; valesti vormindatud XML tekitab pigem sõelumisvea kui oletuse.
  2. Teisenda: DOMParser loob DOM-i, konverter kõnnib iga elemendi ja JSON genereeritakse vajaduse korral atribuudivõtmete (@attr) ja tekstisisuvõtmete (#text) abil. Sama nimega sõsarelemendid muutuvad massiivideks.
  3. Vaadake struktuur üle: Kontrollige JSON-i, et veenduda, et atribuudid, tekst ja pesastus on ootuspäraselt kaardistatud. Kasutatavad kokkulepped (nt atribuutide jaoks @) on väljundis nähtavad.
  4. Laadige alla või kopeerige: Salvestage .json-vormingus või kopeerige lõikelauale.

Levinud kasutusjuhtumid

Tehnilised üksikasjad

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.

Parimad tavad

Korduma kippuvad küsimused

Kas XML-i teisendamine JSON-iks muudab sisu?
Sisu säilitatakse võimalikult täpselt. Mõnel vorminguspetsiifilisel funktsioonil ei pruugi aga olla otseseid vasteid, mistõttu võivad esineda väikesed vorminguerinevused.
Miks teisendada andmed JSON-vormingusse?
JSON on veebi API-de ja JavaScripti rakenduste standardne andmevorming. See on inimloetav, programmeerimiskeelte poolt laialdaselt toetatud ja selle süntaks on lihtsam kui XML.
Kas muundur käsitleb pesastatud või keerulisi XML-struktuure?
Jah. Tööriist analüüsib õigesti pesastatud objekte, massiive ja kõiki standardseid XML-andmetüüpe, säilitades JSON-i väljundis täieliku andmestruktuuri.
Kas see konversioon on turvaline ja privaatne?
Jah. Kogu töötlemine toimub teie brauseris kohapeal. Teie andmed ei lahku kunagi teie seadmest – ei mingit serverisse üleslaadimist, pilvetöötlust ega andmete kogumist.
Kas CDATA sektsioone käsitletakse?
Jah. CDATA-sisu teisendatakse JSON-väljundis lihttekstiks. CDATA ümbrist ennast ei säilitata, küll aga sisu.
Kas minu andmed laaditakse serverisse?
Ei. DOMParser töötab teie brauseris; konversioon toimub täielikult teie seadmes.
Kas JSON-i edasi-tagasi reis tagasi XML-i?
Jah, kui kasutate pöördkokkulepet (JSON-i tööriist XML-iks järgib samu @attr ja #text reegleid). Edasi-tagasi reis säilitab tüüpilise XML-i struktuuri; mõned servajuhtumid (segasisu järjekord, töötlemisjuhised) ei pruugi ideaalselt püsida.
Mis on maksimaalne sisendi suurus?
Kuni 50 MB. DOMParser on teie brauseri mäluga piiratud; väga suured XML-failid võivad aeglustada või sõeluda ebaõnnestuda.