Hoppa till innehåll
TextArray
100% lokalt

XML till JSON-omvandlare

Konvertera XML till motsvarande JSON, med attribut som prefix och upprepade taggar som arrayer.

Inmatning
Utmatning

XML till JSON-omvandlare

XML och JSON beskriver båda strukturerad data, men verktygen runt omkring dig talar sällan båda. Ett gammalt SOAP API, ett RSS-flöde, en Android-layout, en konfigurationsfil eller en dataexport ger dig XML; ditt skript, din databas eller din frontend vill ha JSON. Det här verktyget konverterar mellan dem med en riktig parser - inte ett regex-hack - som hanterar de obekväma delarna av XML korrekt: kapslade element, attribut, blandat innehåll, självstängande taggar, kommentarer, CDATA-sektioner, XML-deklarationen och DOCTYPE.

Kartläggningen följer den allmänt använda konventionen. Ett elements attribut blir nycklar med prefixet @ (konfigurerbart), så <användar-id="7"> ger "@id": "7". Barnelement häckar som föremål; när en tagg upprepas - tre <item>-element i rad - kollapsar de till en enda array, vilket är precis vad du vill ha för listor. Ett element som bara har text blir en vanlig sträng; en som har både text och attribut håller sin text under en #text-nyckel. Entiteter som & och numeriska referenser som A avkodas och CDATA-innehåll tas bokstavligt.

Eftersom det är en äkta parser med rekursiv härkomst, validerar den som den läser: en felaktig stängningstagg, en oavslutad kommentar eller vilseledande innehåll efter roten producerar ett tydligt fel med radnumret, snarare än att tyst mangla utdata. Välj indrag med två eller fyra mellanslag för ett läsbart resultat, eller förminska till en enda rad för inbäddning.

Allt körs lokalt i din webbläsare - din data lämnar aldrig din enhet, vilket är viktigt för XML-exporter som ofta innehåller poster och identifierare.

FAQ

Hur representeras XML-attribut i JSON?
Som nycklar prefixerade med @ som standard (du kan ändra prefixet). Så <book lang="en"> blir { "book": { "@lang": "en" } }. Detta är konventionen som används av bibliotek som xml-js och badgerfish, så resultatet faller in i de flesta verktygskedjor.
Vad händer med upprepade taggar?
De blir en samling. Tre <item> barn kollapsar till "objekt": [ … ], vilket är vad en lista behöver. En tagg som visas en gång förblir ett enda värde - notera att det betyder ett dokument med ett objekt och ett annat med flera mappar till olika former, vilket är inneboende i XML→JSON.
Klarar den blandat innehåll och CDATA?
Ja. Ett element med både text och underordnade (eller attribut) håller sin text under en #text-nyckel. CDATA-sektioner tas bokstavligt, så deras <raw>-markering och &-tecken överlever utan att analyseras. Kommentarer och bearbetningsinstruktioner hoppas över.
Varför rapporterade den ett fel istället för att konvertera?
Det är en validerande parser: en stängningstagg som inte matchar, ett attribut utan citat, en oavslutad kommentar eller innehåll efter rotelementet stoppar alla konverteringen med ett radnumrerat meddelande. Det är medvetet - en felaktig men tyst omvandling är värre än ett tydligt fel.
Laddas min XML upp någonstans?
Nej. Analysen och konverteringen körs helt i din webbläsare och din data lämnar aldrig din enhet.