Naar inhoud springen

JSON naar XML converteren

Zet JSON om in ingesprongen, geldige XML: sleutels worden elementen, arrays herhalen ze en @-sleutels worden attributen. De conversie draait in je browser.

Converteren naar
Werkt in je browser · geen uploadZo werkt het

Zo gebruik je JSON naar XML

  1. 1

    Plak de JSON

    Een object, een array met records of een API-respons; je kunt ook een .json-bestand neerzetten.

  2. 2

    Geef de elementen een naam

    Laat het hoofdelement leeg om de naam uit de gegevens te halen, en stel de elementnaam in voor de items van gewone arrays.

  3. 3

    Download de XML

    Met inspringing van spaties of tabs, of op één regel, met of zonder de <?xml?>-declaratie.

Limieten en Pro

JSON-bestanden tot 500 MB; geplakte tekst van elke grootte die je browser aankan.

JSON-bestanden tot 4 GB. Pro bekijken

Over JSON naar XML

JSON naar XML schrijft JSON-gegevens weg als XML-document voor systemen die nog steeds XML uitwisselen: imports voor boekhouding en ERP, e-factuurschema's, SOAP-services, Android-resources en veel oudere koppelingen.

Elke sleutel wordt een element en elke array herhaalt zijn element, dus {"book": [{…}, {…}]} wordt twee <book>-elementen naast elkaar – de vorm die XML-schema's meestal verwachten. Een array op het hoogste niveau, die in XML niet kan, wordt verpakt in een hoofdelement met per item een itemelement. Een enkele sleutel op het hoogste niveau met een array, zoals {"orders": […]}, wordt het hoofdelement met <order>-elementen in het enkelvoud eronder. Heeft het object precies één sleutel op het hoogste niveau, dan is die sleutel het hoofdelement; anders heet het hoofdelement root, of de naam die je zelf typt.

Sleutels die met @ beginnen worden attributen en een "#text"-sleutel wordt de tekst van het element. Dat is dezelfde conventie als bij XML naar JSON, zodat gegevens beide kanten op kunnen. Zet “Eenvoudige waarden als attributen schrijven” aan voor compacte records zoals <user id="1" name="Ann"/>.

JSON staat sleutelnamen toe die XML niet toestaat, daarom worden namen hersteld: spaties en andere ongeldige tekens worden underscores en een naam die met een cijfer begint krijgt een underscore ervoor ("1st place" → _1st_place). Tekst wordt ge-escaped (&, < en > in inhoud; aanhalingstekens in attributen), tekens die XML verbiedt worden verwijderd, null wordt een leeg element en geneste arrays krijgen item-elementen.

De uitvoer is UTF-8. Het is well-formed XML; er wordt niet gecontroleerd tegen een XSD-schema, dus de volgorde van elementen en verplichte velden hangen nog van je gegevens af.

Privacy

De JSON die je plakt of neerzet wordt door een worker in dit browsertabblad gelezen en omgezet naar XML; er wordt niets naar een server gestuurd of ergens opgeslagen.

JSON naar XML: veelgestelde vragen

Hoe maak ik attributen in plaats van onderliggende elementen?
Zet een @ voor de sleutel in je JSON: het record {"@id": 5, "name": "Ann"} in een array geeft <item id="5"><name>Ann</name></item>. Wil je alle eenvoudige waarden (tekst, getal, true/false) in één keer een attribuut maken, zet dan “Eenvoudige waarden als attributen schrijven” aan. Objecten en arrays blijven onderliggende elementen, omdat attributen alleen tekst kunnen bevatten.
Hoe heet het hoofdelement?
Is de JSON een object met één sleutel, zoals {"catalog": {…}}, dan wordt die sleutel het hoofdelement. Anders verpakt de converter alles in <root>. Typ een naam in “Hoofdelement” om beide gevallen te overschrijven; ongeldige tekens worden vervangen, zodat het document geldig blijft.
Hoe worden arrays in XML geschreven?
Een array onder een sleutel herhaalt het element van die sleutel: "tag": ["a", "b"] wordt <tag>a</tag><tag>b</tag>. Arrays zonder eigen sleutel, zoals een array op het hoogste niveau of een array in een array, krijgen item-elementen, met een naam die je kunt wijzigen. Een lege array wordt één leeg element, zodat de sleutel niet verloren gaat.
Worden speciale tekens ge-escaped?
Ja. Ampersands en punthaken in tekst worden &amp;, &lt; en &gt;; aanhalingstekens, tabs en regeleinden in attribuutwaarden worden als tekenverwijzingen geschreven. Besturingstekens die XML 1.0 verbiedt, worden weggelaten. Letters uit elk alfabet, emoji inbegrepen, worden gewoon geschreven, omdat het document UTF-8 is.
Kan ik het resultaat valideren tegen mijn XSD?
Niet hier: de converter maakt well-formed XML, maar kent je schema niet. Geef de JSON de vorm die het schema verwacht (sleutelnamen, volgorde van sleutels, @ voor attributen), converteer en valideer het bestand met je XML-editor of het ontvangende systeem. De volgorde van sleutels in de uitvoer volgt de volgorde in je JSON.

Andere taken met deze tool