Nemokamas konverteris

XML į JSON konverteris

Savo naršyklėje akimirksniu konvertuokite XML duomenis arba failus į JSON formatą. Palaiko pasirinktinį įtrauką ir tvarko įdėtas struktūras.

Pasirinkite XML failą

arba vilkite ir numeskite čia

Arba

Apie šį įrankį

XML ir JSON yra duomenų mainų formatai, tačiau kilę iš skirtingų žiniatinklio epochų. XML, standartizuotas 1998 m., buvo sukurtas kaip save apibūdinantis žymėjimo formatas su atributais, vardų erdvėmis ir schemos patvirtinimu. JSON pasirodė 2000-ųjų pradžioje kaip lengvesnis formatas, geriau tinkantis JavaScript vykdymo laikui ir šiuolaikinėms API. Dauguma naujų žiniatinklio API kalba JSON; daugelis senesnių sistemų – SOAP paslaugos, RSS informacijos santraukos, konfigūracijos failai, įmonių integracijos – vis dar gamina XML. Konvertavimas tarp jų yra viena iš labiausiai paplitusių šiuolaikinės plėtros užduočių.

Konvertavimas nėra visiškai be nuostolių, nes abu formatai turi skirtingą išraiškos galią. XML turi atributų (kurių JSON savaime neturi), išskiria teksto turinį ir elementų pavadinimus ir palaiko mišrų turinį (elementus, kuriuose yra ir teksto, ir antrinių elementų). Paprastas JSON objekto / masyvo modelis negali tiesiogiai atstovauti šių funkcijų, todėl keitikliai taiko susitarimus: atributai tampa raktais su priešdėliu @, teksto turinys tampa #teksto raktu ir pan.

Šis keitiklis analizuoja XML naudodamas naršyklėje integruotą DOMParser ir eina gautu DOM medžiu, kad sukurtų JSON. Elementai su tuo pačiu žymos pavadinimu kaip ir broliai surenkami į masyvus; atributai patenka į specialius raktus; vardų erdvės ir apdorojimo instrukcijos išsaugomos, kai yra. Rezultatas yra žmogaus skaitomas JSON, kuris pagrįstai grįžta atgal į XML.

Kodėl konvertuoti XML į JSON

Dauguma šiuolaikinių programos kodų yra patogesni naudojant JSON. „JavaScript“ savaime analizuoja JSON, Python json modulis yra standartinėje bibliotekoje, o praktiškai visos kitos kalbos turi lygiavertį pirmos klasės JSON palaikymą. XML apdorojimui reikia importuoti papildomas bibliotekas ir parašyti daugiau šablonų. Įeinančio XML konvertavimas į JSON prieš apdorojimą dažnai yra greičiausias kelias iš išorinio XML sklaidos kanalo į vidinę duomenų struktūrą.

Įrankiai taip pat remiasi JSON. JSON gražintuvų, tikrintuvų, schemų tikrintuvų, užklausų kalbų (jq, JSONPath) ir peržiūros priemonių yra daug; XML atitikmenų yra mažiau ir dažnai senesni. Darbas JSON atveria turtingesnę įrankių ekosistemą.

Kaip naudoti

Įklijuokite XML, gaukite JSON.

  1. Įklijuokite arba įkelkite savo XML: Įklijuokite XML tekstą į įvesties sritį arba palikite failą. XML turi būti gerai suformuotas; netinkamai suformuotas XML sukuria analizavimo klaidą, o ne spėjimą.
  2. Konvertuoti: DOMParser sukuria DOM, keitiklis apeina kiekvieną elementą, o JSON generuojamas naudojant atributų raktus (@attr) ir teksto turinio raktus (#text), kur reikia. Sesuo elementai tuo pačiu pavadinimu tampa masyvais.
  3. Peržiūrėkite struktūrą: Patikrinkite JSON, kad įsitikintumėte, jog atributai, tekstas ir įdėjimas yra susieti, kaip tikėtasi. Naudojami susitarimai (pvz., @ atributams) matomi išvestyje.
  4. Atsisiųskite arba nukopijuokite: Išsaugokite kaip .json arba nukopijuokite į mainų sritį.

Įprasto naudojimo atvejai

Techninės detalės

DOMParser sukuria XML DOM, identišką tam, kurį naršyklė naudoja XHTML puslapiams. Konverteris eina šį DOM rekursyviai. Kiekvienam elementui sukuriamas JSON objektas: atributai tampa raktais su priešdėliu @ (pvz., @id, @class); elemento antriniai elementai pakartojami į tą pačią struktūrą; tekstinis turinys, kai pateikiamas kartu su vaikais, gyvena po #teksto klavišu.

Pasikartojantys antriniai elementai su tuo pačiu žymos pavadinimu renkami į JSON masyvą. Vienas duoto vardo antrinis asmuo pasirodo kaip objekto reikšmė; keli vaikai pasirodo kaip objektų masyvas. Šis susitarimas gerai veikia praktikoje, tačiau reiškia, kad JSON forma priklauso nuo to, ar elementai pasirodo vieną ar kelis kartus – žinomas XML ir JSON atvaizdavimo trūkumas.

Vardų erdvės išsaugomos kaip elementų pavadinimų dalis (priešdėlis:localName). Apdorojimo instrukcijos ir CDATA skyriai konvertuojami į tekstinį turinį. XML deklaracijos ir DOCTYPE pašalinami iš JSON išvesties, bet neturi įtakos duomenims.

Geriausia praktika

Dažnai užduodami klausimai

Ar XML konvertavimas į JSON keičia turinį?
Turinys išsaugomas kuo tiksliau. Tačiau kai kurios su formatu susijusios funkcijos gali neturėti tiesioginių atitikmenų, todėl gali atsirasti nedidelių formatavimo skirtumų.
Kodėl konvertuoti duomenis į JSON formatą?
JSON yra standartinis žiniatinklio API ir „JavaScript“ programų duomenų formatas. Jis yra skaitomas žmonėms, plačiai palaikomas programavimo kalbų, o sintaksė yra paprastesnė nei XML.
Ar keitiklis tvarko įdėtas arba sudėtingas XML struktūras?
Taip. Įrankis teisingai analizuoja įdėtus objektus, masyvus ir visus standartinius XML duomenų tipus, išsaugodamas visą duomenų struktūrą JSON išvestyje.
Ar ši konversija saugi ir privati?
Taip. Visas apdorojimas vyksta lokaliai jūsų naršyklėje. Jūsų duomenys niekada nepalieka jūsų įrenginio – neįkeliama į serverį, neapdorojama debesyje, nerenkama duomenų.
Ar tvarkomi CDATA skyriai?
Taip. CDATA turinys JSON išvestyje konvertuojamas į paprastą tekstą. Pats CDATA įvyniojimas neišsaugomas, bet turinys yra.
Ar mano duomenys įkeliami į serverį?
Ne. DOMParser veikia jūsų naršyklėje; konversija įvyksta tik jūsų įrenginyje.
Ar JSON sugrįš į XML?
Taip, jei naudojate atvirkštinę konvenciją (JSON į XML įrankis vadovaujasi tomis pačiomis @attr ir #text taisyklėmis). Kelionė pirmyn ir atgal išsaugo tipinio XML struktūrą; kai kurie kraštiniai atvejai (mišraus turinio tvarka, apdorojimo instrukcijos) gali neišgyventi idealiai.
Koks yra didžiausias įvesties dydis?
Iki 50 MB. DOMParser yra ribojama jūsų naršyklės atminties; labai dideli XML failai gali sulėtinti arba nepavykti išanalizuoti.