JSON naar XML omzetten
Zet JSON om naar XML en XML naar JSON in je browser, met attributen, herhaalde elementen en CDATA. Er wordt niets naar een server geüpload.
Zo gebruik je de JSON-naar-XML-converter
- Kies de richting: JSON → XML of XML → JSON.
- Plak je gegevens, of klik op Bestand openen om een
.json- of.xml-bestand te laden (maximaal 10 MB). - Stel de opties in: Inspringing (2 spaties, 4 spaties, tab of Geen (compact)) voor beide richtingen; Rootelement en XML-declaratie toevoegen voor JSON → XML; Getallen en booleans omzetten voor XML → JSON.
- Klik op Omzetten. Het resultaat wordt ook bijgewerkt terwijl je typt, en fouten tonen de regel en kolom waar het probleem is gevonden.
- Kopieer of download het resultaat. Richting omdraaien zet het resultaat terug in de invoer, zodat je kunt controleren of heen en terug hetzelfde oplevert.
Hoe JSON naar XML wordt vertaald
XML en JSON hebben niet hetzelfde datamodel, dus elke converter volgt een conventie. Deze tool gebruikt de veelgebruikte conventie van de bibliotheek fast-xml-parser:
| JSON | XML |
|---|---|
{"title": "Dune"} |
<title>Dune</title> |
{"book": {"@id": "42"}} |
<book id="42"/> |
{"p": {"@lang": "en", "#text": "Hi"}} |
<p lang="en">Hi</p> |
{"tag": ["a", "b"]} |
<tag>a</tag><tag>b</tag> |
- Sleutels die beginnen met
@worden attributen, en de sleutel#textbevat de tekst van een element dat ook attributen heeft. - Een array wordt een herhaald element met dezelfde naam.
- Een XML-document heeft precies één rootelement nodig. Is je JSON een object met één sleutel waarvan de waarde een object is, dan wordt die sleutel de root. Anders wordt de hele waarde verpakt in het element dat je bij Rootelement opgeeft (standaard
root), en items van een array op het hoogste niveau worden<item>-elementen. - Sleutels die geen geldige XML-namen zijn, worden aangepast: spaties en symbolen worden
_, en een naam die met een cijfer begint krijgt een_ervoor ("1st place"→<_1st_place>). nullen lege strings leveren een leeg element op, zoals<note/>. Speciale tekens (&,<,>, aanhalingstekens) worden geëscapet.
Hoe XML naar JSON wordt vertaald
- Attributen worden sleutels met
@ervoor, en gemengde tekst wordt#text. - Herhaalde elementen worden een array; een element dat één keer voorkomt, wordt één waarde.
- CDATA-secties worden samengevoegd met de tekst, en entities zoals
&worden gedecodeerd. De XML-declaratie, processing instructions en commentaar vallen weg. - Met Getallen en booleans omzetten wordt
<price>12.5</price>het getal12.5entrueeen boolean, terwijl waarden met een voorloopnul, zoals007, strings blijven. Zet de optie uit om elke waarde als tekst te houden.
Voor het omzetten wordt gecontroleerd of de XML goed gevormd is: een ontbrekende sluittag, een tag die niet overeenkomt of een niet-geëscapete & wordt gemeld met regel en kolom.
Veelgestelde vragen
Worden mijn gegevens naar een server gestuurd?
Nee. De omzetting draait volledig in je browser. Je XML-feeds, SOAP-berichten en configuratiebestanden blijven op je computer.
Waarom wordt een element in het ene bestand een array en in het andere een object?
XML zegt niet of een element een lijst is. Komt <tag> twee keer voor, dan wordt het een array; komt het één keer voor, dan is het één waarde. Verwacht je code een array, vang dan beide gevallen op, of voeg bij het testen een tweede element toe.
Waarom is heen en terug niet altijd identiek?
Sommige informatie heeft aan de andere kant geen equivalent: commentaar, de volgorde van gemengde inhoud, of het verschil tussen een array met één element en een losse waarde. Bij gangbare gegevensdocumenten levert JSON → XML → JSON dezelfde structuur op.
Kan ik namespaces gebruiken?
Ja. Namen met een prefix zoals soap:Envelope en attributen zoals @xmlns:soap blijven in beide richtingen ongewijzigd.
Valideert de tool tegen een XSD-schema?
Nee. Hij controleert of de XML goed gevormd is, maar valideert niet tegen een DTD of een XSD-schema.
Vergelijkbare tools
- JSON formatteren en valideren Gratis JSON-formatter en -validator die JSON in je browser leesbaar maakt, minifyt en controleert, met syntaxfouten gemeld per regel en kolom.
- JSON naar YAML omzetten Zet JSON om naar YAML en YAML naar JSON in je browser, met ondersteuning voor anchors, merge keys en bestanden met meerdere documenten. Er wordt niets geüpload.
- JSON naar CSV omzetten Zet JSON om naar CSV en CSV terug naar JSON in je browser. Geneste sleutels worden kolommen, scheidingstekens worden herkend en er wordt niets geüpload.