Ingyenes konverter

XML to JSON konverter

Azonnal konvertálhat XML-adatokat vagy fájlokat JSON formátumba a böngészőjében. Támogatja az egyéni behúzást és kezeli a beágyazott struktúrákat.

Válassza ki az XML fájlt

vagy húzd ide

Vagy

Az eszközről

Az XML és a JSON egyaránt adatcsere-formátum, de az internet különböző korszakaiból származnak. Az 1998-ban szabványosított XML-t önleíró jelölési formátumnak tervezték attribútumokkal, névterekkel és sémaellenőrzéssel. A JSON a 2000-es évek elején jelent meg, mint egy könnyebb formátum, amely jobban illeszkedik a JavaScript-futási környezetekhez és a modern API-khoz. A legtöbb új webes API JSON-t beszél; sok régebbi rendszer – SOAP-szolgáltatások, RSS-hírcsatornák, konfigurációs fájlok, vállalati integrációk – még mindig XML-t gyárt. A köztük történő átalakítás a modern fejlesztés egyik leggyakoribb interop feladata.

Az átalakítás nem tökéletesen veszteségmentes, mert a két formátum kifejezőereje eltérő. Az XML attribútumokkal rendelkezik (amit a JSON natív módon nem), különbséget tesz a szövegtartalom és az elemnevek között, és támogatja a vegyes tartalmat (szöveg- és gyermekelemeket is tartalmazó elemek). A JSON egyszerű objektum/tömb modellje nem tudja közvetlenül képviselni ezeket a szolgáltatásokat, ezért a konverterek konvenciókat alkalmaznak: az attribútumok @ előtagú kulcsokká, a szöveges tartalom #szövegkulcsokká és így tovább.

Ez a konverter a böngésző beépített DOMParser segítségével elemzi az XML-t, és az eredményül kapott DOM-fát végigkíséri a JSON létrehozásához. A testvérekkel azonos címkenévvel rendelkező elemek tömbökbe kerülnek; az attribútumok speciális kulcsokba kerülnek; a névterek és a feldolgozási utasítások megmaradnak, ha vannak. Az eredmény egy ember által olvasható JSON, amely ésszerűen visszakerül az XML-be.

Miért konvertálja az XML-t JSON-ba?

A legtöbb modern alkalmazáskód kényelmesebb a JSON-val. A JavaScript natívan elemzi a JSON-t, a Python json-modulja a szabványos könyvtárban található, és gyakorlatilag minden más nyelv rendelkezik ezzel egyenértékű első osztályú JSON-támogatással. Az XML feldolgozáshoz további könyvtárak importálása és további alaplapok írása szükséges. A bejövő XML feldolgozás előtt JSON-ba konvertálása gyakran a leggyorsabb út a külső XML-hírcsatornától a belső adatstruktúráig.

A szerszámozás is hajlik a JSON-ra. JSON-szépítők, érvényesítők, sémaellenőrzők, lekérdezési nyelvek (jq, JSONPath) és megjelenítők bőségesek; az XML-ekvivalensek kevesebbek és gyakran régebbiek. A JSON-ban való munka az eszközök gazdagabb ökoszisztémáját nyitja meg.

Használati útmutató

Illessze be az XML-t, szerezze be a JSON-t.

  1. Illessze be vagy töltse fel az XML-t: Illesszen be XML-szöveget a beviteli területre, vagy dobjon el egy fájlt. Az XML-nek jól formázottnak kell lennie; A rosszul formázott XML inkább elemzési hibát produkál, mint találgatást.
  2. Konvertálni: A DOMParser létrehoz egy DOM-ot, a konverter végigjárja az egyes elemeket, a JSON pedig attribútumkulcsok (@attr) és szöveges tartalomkulcsok (#text) használatával jön létre, ahol szükséges. Az azonos nevű testvérelemek tömbökké válnak.
  3. Tekintse át a szerkezetet: Ellenőrizze a JSON-t, hogy megbizonyosodjon arról, hogy az attribútumok, a szöveg és a beágyazás a várt módon van leképezve. A használt konvenciók (pl. @ attribútumokhoz) láthatók a kimenetben.
  4. Töltse le vagy másolja: Mentse .json formátumban vagy másolja a vágólapra.

Gyakori használati esetek

Műszaki részletek

A DOMParser olyan XML DOM-ot állít elő, amely megegyezik azzal, amit a böngésző XHTML-oldalakhoz használ. A konverter ezt a DOM-ot rekurzívan járja be. Minden elemhez létrehoz egy JSON-objektumot: az attribútumok @ előtaggal ellátott kulcsokká válnak (pl. @id, @class); az elem gyermekelemei ugyanabba a struktúrába kerülnek; A szöveges tartalom, ha gyerekek mellett van jelen, a #text kulcs alatt él.

Az azonos címkenévvel ismétlődő gyermekelemek egy JSON-tömbbe kerülnek összegyűjtésre. Egy adott név egyetlen gyermeke jelenik meg objektumértékként; több gyermek objektumok tömbjeként jelenik meg. Ez a konvenció jól működik a gyakorlatban, de azt jelenti, hogy a JSON-alak attól függ, hogy az elemek egyszer vagy többször jelennek meg – ez az XML-JSON leképezés ismert tökéletlensége.

A névterek az elemnevek részeként megmaradnak (előtag:localName). A feldolgozási utasítások és a CDATA szakaszok szöveges tartalommá alakulnak. Az XML-deklarációk és a DOCTYPE-ok eltávolításra kerülnek a JSON-kimenetből, de nem befolyásolják az adatokat.

Legjobb gyakorlatok

Gyakran ismételt kérdések

Az XML JSON-ba konvertálása megváltoztatja a tartalmat?
A tartalom a lehető legpontosabban megőrződik. Előfordulhat azonban, hogy egyes formátum-specifikus funkciók nem rendelkeznek közvetlen megfelelőkkel, így kisebb formázási eltérések léphetnek fel.
Miért konvertálja az adatokat JSON formátumba?
A JSON a webes API-k és JavaScript-alkalmazások szabványos adatformátuma. Ember által is olvasható, a programozási nyelvek széles körben támogatják, szintaxisa egyszerűbb, mint az XML.
A konverter kezeli a beágyazott vagy összetett XML-struktúrákat?
Igen. Az eszköz megfelelően elemzi a beágyazott objektumokat, tömböket és az összes szabványos XML-adattípust, megőrizve a teljes adatszerkezetet a JSON-kimenetben.
Ez az átalakítás biztonságos és privát?
Igen. Minden feldolgozás helyileg, a böngészőben történik. Adatai soha nem hagyják el az eszközt – nincs szerverfeltöltés, nincs felhőfeldolgozás, nincs adatgyűjtés.
Kezelik a CDATA szakaszokat?
Igen. A CDATA tartalmat a rendszer egyszerű szöveggé konvertálja a JSON-kimenetben. Maga a CDATA-csomagolás nem marad meg, de a tartalom igen.
Fel vannak töltve az adataim egy szerverre?
Nem. A DOMParser a böngészőjében fut; az átalakítás teljes egészében az Ön eszközén történik.
Visszatér a JSON XML-be?
Igen, ha az inverz konvenciót használja (a JSON to XML eszköz ugyanazokat az @attr és #text szabályokat követi). Az oda-vissza út megőrzi a tipikus XML struktúráját; néhány éles eset (vegyes tartalmú sorrend, feldolgozási utasítások) nem biztos, hogy tökéletesen fennmarad.
Mekkora a maximális bemeneti méret?
Akár 50 MB. A DOMParser a böngésző memóriája által korlátozott; A nagyon nagy XML-fájlok lelassulhatnak, vagy nem sikerül értelmezni.