JSON naar XML converter

Zet JSON-data om naar geldige XML.

Draait in je browser. Niets van wat je typt wordt ergens naartoe gestuurd.

Zo converteer je JSON naar XML

  1. Plak of upload je JSON.
  2. Typ een naam voor het rootelement.
  3. Kopieer de XML of download hem.

Voorbeeld: JSON erin, XML eruit

JSONXML
{"name":"Sam"}<root><name>Sam</name></root>
{"@_id":"5","#text":"Widget"}<root id="5">Widget</root>
{"tag":["a","b"]}<root><tag>a</tag><tag>b</tag></root>

Hoe JSON-sleutels tagnamen worden

  • Een teken dat XML niet toestaat in een naam, zoals een spatie, wordt vervangen door _, dus "first name" wordt first_name.
  • Een sleutel die met een cijfer begint krijgt een _ ervoor, aangezien XML-namen niet met een cijfer mogen beginnen.
  • Een sleutel die botst met een al hernoemde sleutel krijgt een nummer erachter, dus een tweede first_name wordt first_name_2.

Waar JSON naar XML nuttig is

  • Data invoeren in een ouder systeem of een API die alleen XML accepteert.
  • Een kleine feed bouwen, zoals een RSS-achtig bestand, vanuit een JSON-databron.
  • Controleren hoe een JSON-payload eruit zou zien als SOAP- of legacy XML-request body.

Beperkingen om rekening mee te houden

  • Een JSON null wordt een leeg element, aangezien XML niets heeft dat precies null betekent.
  • Sleutels die alleen in hoofdlettergebruik verschillen, zoals Name en name, worden twee verschillende tags, aangezien XML-tagnamen hoofdlettergevoelig zijn.
  • Getallen en booleans worden als platte tekst in de XML geschreven. Een lezer moet zelf weten dat hij ze terug moet parsen naar hun oorspronkelijke type.

Veelgestelde vragen over JSON naar XML

Hoe worden arrays geschreven in XML?

Elk item in een array wordt een herhaald element genoemd naar zijn sleutel. Een array op het hoogste niveau wordt verpakt in item-elementen onder de root.

Hoe maak ik attributen aan?

Begin een sleutel met @_, zoals "@_id": 5, en die wordt een attribuut van zijn bovenliggende element. Dit sluit aan op de uitvoer van de XML naar JSON-converter.

Wat als een sleutel geen geldige XML-tagnaam is?

Tekens die XML niet toestaat in namen, zoals spaties, worden vervangen door _, en een naam die met een cijfer begint krijgt een _ ervoor. Zo wordt "first name" first_name.

Kan ik een bestand via XML naar JSON en weer terug omzetten?

Ja. JSON die door de XML naar JSON-converter is gemaakt met attributen aan, inclusief de @_-sleutels en #text-waarden, wordt hier omgezet naar bijpassende XML.

Wat gebeurt er met een JSON-array van gewone waarden, zoals een lijst met tags?

Elke waarde wordt zijn eigen herhaalde element, genoemd naar de sleutel van de array. Zo wordt een tags-array van ["a","b"] onder sleutel tag <tag>a</tag><tag>b</tag>.

Bevat de uitvoer een XML-declaratie?

Ja. Elk resultaat begint met <?xml version="1.0" encoding="UTF-8"?> op zijn eigen regel.

Worden speciale tekens zoals < of & in tekst geëscaped?

Ja. Elk teken dat anders de XML-syntax zou breken binnen tekst of een attribuutwaarde wordt automatisch geëscaped, zodat het resultaat altijd weer schoon parset.

Kan ik een object nesten in een array binnen een ander object?

Ja. Elke diepte en combinatie van objecten en arrays wordt omgezet, waarbij elk niveau zijn eigen set geneste elementen wordt.

Gerelateerde tools