Naar inhoud springen

XML naar JSON converteren

Zet een XML-document om in JSON: attributen als @-sleutels, herhaalde elementen als arrays en getallen als getal. De ingebouwde XML-parser van je browser verwerkt alles op je apparaat.

Converteren naar
Sleep een XML-bestand hierheenXML tot 100 MB · JSON, CSV, XLSX, XLS, ODS tot 500 MB
Bestand kiezenVerwerkt op je apparaat – wordt niet geüpload
Werkt in je browser · geen uploadZo werkt het

Zo gebruik je XML naar JSON

  1. 1

    Plak of sleep de XML

    Een .xml-bestand, een RSS- of Atom-feed, een SOAP-respons of gewone XML-tekst; de codering uit de declaratie wordt gerespecteerd.

  2. 2

    Kies de JSON-structuur

    Attributen als @-sleutels, gewone sleutels of helemaal niet; arrays alleen voor herhaalde elementen of overal; getallen als getal of als tekst bewaard.

  3. 3

    Kopieer de JSON

    Opgemaakt of compact – kopieer hem naar het klembord of download het .json-bestand.

Limieten en Pro

XML-bestanden tot 100 MB, geplakte XML van elke grootte die je browser aankan.

Over XML naar JSON

XML naar JSON is er voor het moment dat een API, een overheidsportaal of een oude koppeling je XML geeft en je code JSON wil. Het hoofdelement van het document wordt de enige sleutel op het hoogste niveau, elk onderliggend element wordt een eigenschap, en een element dat meerdere keren onder dezelfde ouder voorkomt wordt een array, in de volgorde van het document.

Attributen vragen om een keuze, omdat JSON ze niet kent. De standaardinstelling schrijft ze als sleutels die met @ beginnen – <price currency="UZS">125000</price> wordt {"@currency": "UZS", "#text": 125000} – zodat attributen en onderliggende elementen gescheiden blijven en de JSON weer in dezelfde XML kan worden omgezet. Gewone sleutels geven kortere objecten; attributen weglaten past bij documenten die ze alleen voor administratie gebruiken.

Waarden: met typeherkenning aan worden 42 en 3.5 JSON-getallen en worden true/false booleans, maar alles wat zou veranderen als je het als getal leest blijft een string, zoals postcodes en rekeningnummers met voorloopnullen en getallen van meer dan 15 cijfers. Lege elementen worden lege strings.

Naamruimten blijven zoals ze geschreven zijn (dc:title), of je kunt de prefixen weglaten voor nettere sleutels, waarmee ook de xmlns-declaraties verdwijnen. Met “Altijd arrays gebruiken” krijgt elk onderliggend element dezelfde arrayvorm, handig als sommige records één auteur hebben en andere drie.

Niet overgenomen: opmerkingen, verwerkingsinstructies en de DOCTYPE; tekst die met inline tags is gemengd, zoals in XHTML-alinea's, wordt samengevoegd tot één string.

Privacy

De XML wordt verwerkt in een achtergrondworker van deze pagina, zonder netwerkverzoek; er wordt geen DTD of externe entiteit opgehaald en het document verlaat je apparaat niet.

XML naar JSON: veelgestelde vragen

Wat betekent #text in de JSON?
Als een element attributen of onderliggende elementen heeft en ook eigen tekst, heeft die tekst een eigen sleutel nodig; #text is de gangbare afspraak. <title lang="en">Guide</title> wordt {"@lang": "en", "#text": "Guide"}. Een element met alleen tekst wordt in plaats daarvan een gewone waarde, dus <title>Guide</title> is gewoon "title": "Guide".
Worden getallen geconverteerd of blijven ze tekst?
Met “Getallen en waar/onwaar herkennen” aan krijgen waarden die duidelijk getallen of booleans zijn een JSON-type. Waarden met voorloopnullen, zoals 007 of een postcode, en getallen van meer dan 15 cijfers blijven strings, omdat ze door omzetting naar een getal zouden veranderen. Zet de herkenning uit om elke waarde precies als tekst te houden.
Hoe worden naamruimten zoals soap: of dc: behandeld?
Prefixen blijven standaard deel van de sleutel, dus dc:title wordt de sleutel "dc:title" en xmlns-declaraties verschijnen als @xmlns-attributen. Zet “Naamruimteprefixen weglaten” aan om title te krijgen en de declaraties weg te laten. Twee verschillende naamruimten met dezelfde lokale naam delen dan een sleutel, dus behoud de prefixen als dat telt.
Kan ik de JSON daarna weer naar XML converteren?
Ja. Zet het doel op XML op de pagina JSON naar XML: sleutels die met @ beginnen worden attributen, #text wordt de tekst van het element en arrays worden herhaalde elementen. De volgorde binnen een ouder kan veranderen als verschillende onderliggende namen door elkaar stonden, en opmerkingen zijn weg, maar de gegevens zelf blijven behouden.
Waarom krijg ik een foutmelding in plaats van JSON?
De XML is niet well-formed, en de melding toont de regel en kolom van het eerste probleem. Veelvoorkomende oorzaken zijn een & die &amp; moet zijn, een tag die in de verkeerde volgorde is gesloten, een attribuutwaarde zonder aanhalingstekens, of HTML-entiteiten zoals &nbsp; die XML niet kent. Herstel die plek en plak opnieuw.

Andere taken met deze tool