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
Webpack-configuratiegenerator
Maak een webpack.config.js voor webpack 5 vanuit een kort formulier: stel entry, uitvoermap en mode in en zet TypeScript, Babel, een CSS-loader, HtmlWebpackPlugin en een dev-server aan.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
SVG-golfgenerator
Genereer een vloeiende SVG-golfscheiding voor headers en footers met instelbare amplitude, frequentie, kleur en positie boven of onder. Kopieer de SVG-code.
Decimaal naar hexadecimaal converter
Voer een decimaal geheel getal in en ontvang direct de hexadecimale waarde, inclusief negatieve waarden als 64-bits tweecomplement.
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.
JSON-editor online
Bewerk JSON lokaal in de browser, bekijk de opgemaakte structuur, formatteer of minimaliseer tekst, sorteer sleutels en download een JSON-bestand.
Tool beschikbaar in andere talen
- JSON zu XML [DE]
- JSON vers XML [FR]
- JSON do XML [PL]
- JSON에서 XML로 [KO]
- Chuyển đổi từ JSON sang XML [VI]
- JSON para XML [PT]
- JSON إلى XML [AR]
- JSON a XML [ES]
- JSON ke XML [ID]
- แปลง JSON เป็น XML [TH]
- JSONからXMLへ [JA]
- JSON till XML [SV]
- JSON to XML [EN]
- JSON in XML [IT]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON 到 XML [ZH]