JSON naar XML
Plak een JSON-document en krijg het XML-equivalent terug, met de naam van het wortelelement die u kiest, een consistente aanpak voor arrays (herhaalde elementen of een omhuller), een optionele XML-declaratie en nette inspringing. Handig wanneer een verouderd systeem XML vereist terwijl uw brongegevens in JSON staan.
Hoe je JSON omzet in XML
-
1
Plak JSON
Een object of array op het hoogste niveau. U geeft het wortelelement een naam.
-
2
Geef de wortel een naam
XML vereist één wortelelement. De standaardwaarde is `<root>`; geef het een betekenisvolle naam zoals `<users>` of `<response>`.
-
3
Kies een arraystrategie
„Herhaalde elementen" (elk array-item wordt een aangrenzend `<item>`) of „omhuller" (de array wordt in een benoemd omhullerelement geplaatst).
-
4
Kopieer de XML
Optionele XML-declaratie, correcte inspringing en met entiteiten ge-escapete waarden voor `<`, `>`, `&` en aanhalingstekens.
Voorbeeld: herhaalde elementen
Invoer:
{ "users": [ { "name": "Alice" }, { "name": "Bob" } ] }
Uitvoer:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<name>Alice</name>
</users>
<users>
<name>Bob</name>
</users>
</root>
Voorbeeld: array-omhuller
Dezelfde invoer met de strategie ‘arrays in <item> verpakken’:
<root>
<users>
<item>
<name>Alice</name>
</item>
<item>
<name>Bob</name>
</item>
</users>
</root>
Type-mapping
| JSON | XML |
|---|---|
| string | tekstinhoud, met entiteiten ge-escapet |
| geheel getal / decimaal | tekstinhoud (geen XML-typeannotatie) |
| boolean | true / false als tekst |
| null | leeg element (<foo/>) of weggelaten |
| array | herhaalde elementen of een omhuller met items |
| object | genest element met onderliggende elementen |
Attributen versus elementen
XML onderscheidt attributen (<user id="1">) van onderliggende elementen (<user><id>1</id></user>). De converter gebruikt standaard elementen; deze zijn verliesvrij bij heen-en-weer-conversie. Als uw verdere XML attributen vereist, gebruik dan een sleutelprefixconventie:
- De JSON-sleutel
@idwordt een XML-attribuutid="..."op het bovenliggende element. - De JSON-sleutel
#textwordt de tekstinhoud van het bovenliggende element.
Deze conventies zijn gebaseerd op de toewijzingen van BadgerFish en Parker, de twee meest gebruikte standaarden voor het omzetten van JSON naar XML.
Escape-regels
<-><>->>&->&"→"(in attribuutwaarden)'→'(optioneel)- De bytes in UTF-8 worden behouden en zijn gedefinieerd in de XML-prolog.
Veelvoorkomende fouten
- JSON-array op wortelniveau. XML vereist één enkel wortelelement. De converter verpakt een array in
<root>(of welke naam u ook kiest). - Numerieke sleutels. JSON
{"1": "a"}is geldig; namen van XML-elementen mogen niet met een cijfer beginnen. De converter zet een onderstrepingsteken vóór cijfers (_1) of laat u een eigen toewijzing definiëren. - Gemengde arrays.
[1, "two", { "x": true }]heeft geen schone toewijzing. Dit betekent meestal dat de JSON eerst moet worden genormaliseerd voordat deze wordt omgezet. - Grote documenten. XML is uitgebreid; een JSON-bestand van 10 MB kan een XML-bestand van 20–30 MB worden. Overweeg streamconversie voor zeer grote payloads.
Veelgestelde vragen
Volgens de specificatie vereist XML één enkel wortelelement. Als uw JSON een array is of meerdere sleutels op het hoogste niveau bevat, verpakt de converter alles in een wortelelement dat u kunt benoemen (standaard: <root>).
Ja. Gebruik de conventie met het prefix @ in uw JSON-sleutels (bijvoorbeeld "@id": 1); deze sleutels worden dan attributen, terwijl andere sleutels onderliggende elementen blijven. Dit komt overeen met de BadgerFish-toewijzing.
Er zijn twee strategieën: herhaalde aangrenzende elementen (elk item krijgt de sleutel van de ouder als tag) of een omhuller met <item>-elementen daarin. Kies de optie die het beste past bij het gewenste XML-schema.
Nee. De converter genereert de XML-declaratie (<?xml version="1.0"?>), maar geen DOCTYPE. Voor XML dat een referentie naar een DTD of XSD vereist, voeg deze handmatig toe na de conversie.
Gerelateerde tools
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
E-mailvalidator
Valideer een e-mailadres: RFC 5322-syntaxcontrole, live MX-record-zoekopdracht, plus details over lokaal deel, domein en lengte. Er wordt geen e-mail verstuurd.
EditorConfig-generator
Genereer een .editorconfig-bestand met uw regels voor inspringstijl en -grootte, regeleinde, tekenset en witruimte voor consistente opmaak in alle IDE's en editors.
HTML-opmaker
Formatteer HTML lokaal in de browser met twee of vier spaties inspringing. HTML wordt niet geüpload of gevalideerd.
Tool beschikbaar in andere talen
- JSON zu XML [DE]
- JSON till XML [SV]
- JSON vers XML [FR]
- JSON ke XML [ID]
- JSONからXMLへ [JA]
- JSON에서 XML로 [KO]
- แปลง JSON เป็น XML [TH]
- Chuyển đổi từ JSON sang XML [VI]
- JSON a XML [ES]
- JSON do XML [PL]
- JSON إلى XML [AR]
- JSON para XML [PT]
- JSON in XML [IT]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON 到 XML [ZH]
- JSON to XML [EN]