Utilia

Konvertera JSON till XML

Konvertera JSON till XML och XML till JSON i webbläsaren, med hantering av attribut, upprepade element och CDATA. Inget laddas upp till en server.

Konvertering

Så använder du konverteraren från JSON till XML

  1. Välj riktning: JSON → XML eller XML → JSON.
  2. Klistra in dina data, eller klicka på Öppna en fil för att läsa in en .json- eller .xml-fil (upp till 10 MB).
  3. Ställ in alternativen: Indrag (2 mellanslag, 4 mellanslag, tabb eller Inget (kompakt)) för båda riktningarna, Rotelement och Lägg till XML-deklarationen för JSON → XML, och Konvertera tal och booleska värden för XML → JSON.
  4. Klicka på Konvertera. Resultatet uppdateras också medan du skriver, och fel visas med rad och kolumn där problemet hittades.
  5. Kopiera eller ladda ner resultatet. Byt riktning lägger tillbaka resultatet i indata så att du kan kontrollera att konverteringen går att vända.

Så översätts JSON till XML

XML och JSON har inte samma datamodell, så varje konverterare följer en konvention. Verktyget använder den spridda konventionen från biblioteket fast-xml-parser:

JSON XML
{"title": "Dune"} <title>Dune</title>
{"book": {"@id": "42"}} <book id="42"/>
{"p": {"@lang": "sv", "#text": "Hej"}} <p lang="sv">Hej</p>
{"tag": ["a", "b"]} <tag>a</tag><tag>b</tag>
  • Nycklar som börjar med @ blir attribut, och nyckeln #text innehåller texten i ett element som också har attribut.
  • En lista blir ett upprepat element med samma namn.
  • Ett XML-dokument behöver exakt ett rotelement. Om din JSON är ett objekt med en enda nyckel vars värde är ett objekt blir den nyckeln roten. Annars omsluts hela värdet av elementet som anges i Rotelement (root som standard), och element i en lista på toppnivå blir <item>-element.
  • Nycklar som inte är giltiga XML-namn rättas: mellanslag och symboler blir _, och ett namn som börjar med en siffra får ett inledande _ ("1st place" → <_1st_place>). Bokstäver som å, ä och ö är tillåtna i XML-namn.
  • null och tomma strängar ger ett tomt element som <note/>. Specialtecken (&, <, >, citattecken) kodas.

Så översätts XML till JSON

  • Attribut blir nycklar med prefixet @, och blandad text blir #text.
  • Upprepade element blir en lista. Ett element som bara förekommer en gång blir ett enskilt värde.
  • CDATA-avsnitt slås ihop med texten, och entiteter som &amp; avkodas. XML-deklarationen, bearbetningsinstruktioner och kommentarer tas bort.
  • Med Konvertera tal och booleska värden blir <price>12.5</price> till 12.5 och true till ett booleskt värde, medan värden med inledande nolla, som 007, förblir strängar. Stäng av alternativet för att behålla alla värden som text.

Före konverteringen kontrolleras att XML-koden är välformad: en saknad sluttagg, taggar som inte matchar eller ett okodat & rapporteras med rad och kolumn.

Vanliga frågor

Skickas mina data till en server?

Nej. Konverteringen körs helt i din webbläsare. Dina XML-flöden, SOAP-meddelanden och konfigurationsfiler stannar på datorn.

Varför blir ett element en lista i en fil och ett objekt i en annan?

XML anger inte om ett element är en lista. När <tag> förekommer två gånger blir det en lista, och när det förekommer en gång blir det ett enskilt värde. Om din kod förväntar sig en lista ska den hantera båda fallen, eller så lägger du till ett andra element när du testar.

Varför blir resultatet inte alltid identiskt när jag konverterar fram och tillbaka?

Viss information saknar motsvarighet på andra sidan: kommentarer, ordningen i blandat innehåll eller skillnaden mellan en lista med ett element och ett enskilt värde. För vanliga datadokument ger JSON → XML → JSON tillbaka samma struktur.

Kan jag använda namnrymder?

Ja. Namn med prefix som soap:Envelope och attribut som @xmlns:soap behålls som de är i båda riktningarna.

Validerar verktyget mot ett XSD-schema?

Nej. Det kontrollerar att XML-koden är välformad, men validerar den inte mot en DTD eller ett XSD-schema.