Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
Hier zet je XML naar JSON om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.
Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.
Ze worden een voor een omgezet en samen in één ZIP gedownload.
XML naar JSON
Deze pagina is voor een ontwikkelaar die iets binnenkrijgt dat hij niet zelf heeft ontworpen: een SOAP-respons, een RSS- of Atom-feed, een export van een partner, een configuratiebestand uit een oudere stack. De uitvoer wordt in code gebruikt, dus de exacte sleutelnamen en structuur tellen zwaarder dan de opmaak eromheen.
Wat hier het meest tijd bespaart om vooraf te weten, is niet hoe de omzetting werkt in het algemeen, maar het specifieke gedrag hieronder — gemeten, niet aangenomen.
Met de parserinstellingen die deze site gebruikt, levert precies één `<item>`-element in het bronbestand een gewoon object op, terwijl twee of meer `<item>`-elementen een array opleveren. De vorm van het resultaat hangt dus af van de data, niet van het schema.
Dat is precies het soort verrassing dat een script laat crashen wanneer een feed op een dag toevallig maar één artikel bevat: code die `.map()` aanroept op wat normaal een array is, breekt zodra er die ene dag maar één item is en het resultaat plots een los object wordt.
Schrijf de code die de uitvoer van deze omzetting verwerkt zo dat hij zowel een enkel object als een array van dezelfde vorm accepteert — bijvoorbeeld door een enkel object eerst in een array van één element te wikkelen voordat de rest van de logica erop draait.
Dat is de robuustere aanpak dan aannemen dat een veld altijd een array is, precies omdat deze omzetting die aanname niet garandeert.
XML-attributen worden in het JSON-resultaat sleutels met een `@`-voorvoegsel, zodat ze te onderscheiden blijven van gewone kindelementen met dezelfde naam. Tekstinhoud die naast kindelementen in hetzelfde element staat, komt terecht onder een `#text`-sleutel.
Voor een SOAP-respons met veel attributen op elk element is dat een consistente, voorspelbare regel om tegen te programmeren, ook al oogt de `@`- en `#text`-notatie ongebruikelijk voor wie er voor het eerst mee werkt.
De `<?xml … ?>`-declaratie bovenaan het bronbestand krijgt een eigen sleutel in het resultaat in plaats van te worden weggelaten. Voor de meeste toepassingen is dat veld niet relevant en kan het na het parsen worden genegeerd.
Voor een script dat specifiek de opgegeven karaktercodering of XML-versie nodig heeft, staat die informatie dus wel beschikbaar in het resultaat.
Een waarde die er numeriek uitziet, wordt automatisch als getal geïnterpreteerd in het JSON-resultaat in plaats van als tekststring. Voor een veld dat eigenlijk een identificatiecode is die toevallig numeriek oogt, zoals een postcode met voorloopnul, kan dat de voorloopnul laten verdwijnen.
Controleer daarom velden die bedoeld zijn als tekst maar er numeriek uitzien, vooral in een export waarin ID’s of codes met vaste lengte voorkomen.
De omzetting draait volledig in de browser; het bestand wordt niet naar een server gestuurd. Voor een payload met gevoelige gegevens uit een intern systeem is dat relevant.
De limiet op het gratis plan is 100 MB per bestand.
Tot honderd XML-bestanden tegelijk kunnen in één sessie worden omgezet, elk met een eigen voortgangsindicator, en het resultaat komt terug als losse bestanden of als ZIP.
Bruikbaar wanneer een systeem elke dag een nieuw XML-exportbestand aflevert dat naar dezelfde JSON-structuur moet.
| XML | JSON | |
|---|---|---|
| Volledige naam | Extensible Markup Language | JavaScript Object Notation |
| Bestandsextensie | .xml | .json |
| Mediatype | application/xml | application/json |
| Voor het eerst gepubliceerd | 1998 | 2001 |
| Uitgegeven door | W3C | — |
| Specificatie | XML 1.0 | RFC 8259 |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Actueel |
| Opent in een browser | Elke browser | Elke browser |
| In plaats daarvan overwogen | YAML | YAML, NDJSON |
Opmerkingen gaan niet mee. In XML kun je een bestand van uitleg voorzien en JSON heeft daar geen syntaxis voor, dus elke toelichtende regel vervalt — en dat raakt juist de bestanden die van commentaar worden voorzien: configuratie die iemand anders moet bijhouden.
Visual Studio Code leest zowel XML als JSON, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.
XML is het formaat van W3C, verschenen in 1998. Het is vastgelegd in XML 1.0, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.
JSON stamt uit 2001, vastgelegd in RFC 8259. Visual Studio Code, jq en Postman lezen het formaat.
Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.
Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.
XML en JSON beschrijven de inhoud op fundamenteel andere manieren. De omzetting is daarom een reconstructie en geen kopie: getrouw, maar niet byte voor byte identiek. XML-attributen en tekstknopen worden allebei sleutels, en dat is een afweging die de omzetter voor je maakt.
Opmerkingen gaan niet mee. In XML kun je een bestand van uitleg voorzien en JSON heeft daar geen syntaxis voor, dus elke toelichtende regel vervalt — en dat raakt juist de bestanden die van commentaar worden voorzien: configuratie die iemand anders moet bijhouden.
Deze pagina zet het een in het ander om. Gaat je vraag over kiezen en niet over omzetten, dan zegt XML vs JSON welke je moet gebruiken, waarvoor, en waar elk van beide zwak is.