Skip to content

XML naar JSON Omzetter

Plak XML en krijg direct JSON. Converteert attributen naar @_-sleutels, verwerkt herhaalde elementen als arrays. 100% in de browser, niets geüpload, geen aanmelding.

Geen tracking Draait in je browser Gratis
Opties · 2 spaties · XML → JSON
Inspringing
0 tekens
JSON Uitvoer
0 regels
Gecontroleerd op XML 1.0-welgevormdheidverwerking, juistheid van de @_/#text-conventie en nauwkeurigheid van stringbehoud — Go Tools Engineering Team · May 29, 2026

Wat is XML-naar-JSON-conversie en hoe werkt het?

XML (Extensible Markup Language) en JSON (JavaScript Object Notation) zijn beide gestructureerde dataformaten, maar ze hebben fundamenteel verschillende modellen: XML is een boom van elementen met attributen en gemengde inhoud (tekst afgewisseld met kindelementen); JSON is een boom van objecten, arrays, strings, getallen, booleans en null-waarden. Voor conversie tussen beide is een set conventies nodig om het verschil te overbruggen.

Deze tool gebruikt de meest wijdverspreide conventie, dezelfde die wordt gebruikt door populaire bibliotheken zoals fast-xml-parser (Node.js), xmltodict (Python) en JAXB (Java):

**1. Attributen → prefix @_.** XML-attributen hebben geen direct JSON-equivalent. De conventie is om ze voor te stellen als sleutels met het prefix @_. Zo wordt { "@_id": "42", "@_role": "admin" } in het user-object. Dit prefix is ondubbelzinnig: geen geldig XML-elementnaam begint met @, dus er is geen botsing met namen van kindelementen.

**2. Elementtekstinhoud met attributen → #text.** Wanneer een element zowel attributen als tekstinhoud heeft — 29.99 — moet de tekst hetzelfde JSON-object delen als de attributen. De conventie is om hem op te slaan onder de sleutel #text, wat { "@_currency": "USD", "#text": "29.99" } oplevert. Elementen met alleen tekstinhoud en geen attributen worden omgezet naar een gewone stringwaarde.

**3. Herhaalde nevengeschikte elementen → arrays.** XML staat meerdere kindelementen met dezelfde naam toe; JSON-objecten kunnen geen dubbele sleutels hebben. De oplossing is het samenvoegen van gelijknamige nevengeschikte elementen in een array. Één -kind wordt een enkel object; twee of meer -kinderen worden een array van objecten. Dit is het belangrijkste gedragsdetail om te begrijpen: de JSON-structuur verandert op basis van het aantal nevengeschikte elementen in de XML.

**4. Geen type-omzetting — alle waarden blijven strings.** XML heeft geen native typesysteem voor tekstinhoud. Een waarde van "123" in XML is een string. Het converteren naar het JSON-getal 123 vereist een aanname over de intentie van de auteur — een aanname die onjuist is voor postcodes ("01234" → 1234), telefoonnummers, geopte identifiers en precisiegevoelige decimale strings. Deze tool behoudt alle waarden als strings. Pas type-omzetting toe in je eigen code voor de velden waarvan je het type kent.

**5. Verliesgevend voor commentaar, verwerkingsinstructies en naamruimten.** XML ondersteunt functies die JSON niet heeft: commentaar (), verwerkingsinstructies (), en naamruimtesemantiek. Deze worden verwijderd of benaderd tijdens conversie. Voor verliesvrij XML-werk — herformatteren, minimaliseren, valideren — gebruik de XML Formatter. Voor de omgekeerde conversie — XML opbouwen vanuit JSON — gebruik de JSON naar XML Omzetter.

**Waarom XML naar JSON converteren?** JSON is het native formaat van JavaScript en het standaard uitwisselingsformaat voor REST API's. Als je XML ontvangt van een oudere SOAP-service, een RSS-feed, een sitemap of een bedrijfssysteem, laat conversie naar JSON je toe om met de data te werken via standaard JavaScript-objecttoegang, JSON-padquery's en elke JSON-bewuste database of API. De conversie is een eenrichtingsbrug: handig voor het consumeren van XML-data in een moderne stack, maar niet voor het bewaren of heen-en-weer-converteren van XML-documenten.

// Convert XML to JSON in Node.js using fast-xml-parser
import { XMLParser } from 'fast-xml-parser';

const xml = `<catalog>
  <product id="P01">
    <name>Wireless Headphones</name>
    <price currency="USD">79.99</price>
  </product>
</catalog>`;

const parser = new XMLParser({
  ignoreAttributes: false,      // preserve attributes
  attributeNamePrefix: '@_',    // @_ prefix for attributes
  textNodeName: '#text',        // #text for mixed element content
  parseAttributeValue: false,   // no type coercion on attributes
  parseTagValue: false,         // no type coercion on element text
});

const result = parser.parse(xml);
console.log(JSON.stringify(result, null, 2));
// {
//   "catalog": {
//     "product": {
//       "@_id": "P01",
//       "name": "Wireless Headphones",
//       "price": {
//         "@_currency": "USD",
//         "#text": "79.99"
//       }
//     }
//   }
// }

Kernfuncties

Live conversie

JSON-uitvoer wordt direct bijgewerkt terwijl je XML typt of plakt — geen Omzetten-knop nodig. Grote invoer (>200 KB) schakelt automatisch over naar handmatige modus om de browser responsief te houden.

@_-attribuutprefixconventie

XML-attributen worden @_-prefixed JSON-sleutels, conform de fast-xml-parser- en xmltodict-conventie. wordt { "@_attr": "val" } — ondubbelzinnig en zonder botsing met geldige elementnamen.

Automatische arraydetectie voor herhaalde elementen

Gelijknamige nevengeschikte elementen worden automatisch een JSON-array. Één → object; twee of meer -elementen → array. Geen configuratie nodig — de tool detecteert herhalingen automatisch.

Geen type-omzetting — waarden blijven strings

Alle XML-waarden worden bewaard als JSON-strings. Voorloopnullen, telefoonnummers, geopte codes en boolean-achtige strings zoals "true" of "false" worden nooit stilzwijgend omgezet naar getallen of booleans.

100% browsergebaseerde privacy

Alle conversie draait lokaal in je browser via JavaScript. Je XML — inclusief inloggegevens, interne configuraties en gevoelige payloads — wordt nooit naar een server verzonden, nooit gelogd en nooit opgeslagen.

Welgevormdheidsfoutrapportage

Als je XML niet welgevormd is, rapporteert de tool het exacte regelnummer en kolomnummer van de eerste fout, zodat je het probleem direct kunt opsporen en oplossen vóór het converteren.

Voorbeelden

Configuratiebestand

<?xml version="1.0" encoding="UTF-8"?>
<appConfig version="2.1" env="production">
  <database>
    <host>db.example.com</host>
    <port>5432</port>
    <name>myapp_prod</name>
    <pool max="10" min="2"/>
  </database>
  <cache enabled="true">
    <ttl>3600</ttl>
    <driver>redis</driver>
  </cache>
</appConfig>

Een kleine toepassingsconfiguratie met attributen en geneste elementen. Attributen worden @_-prefixed sleutels in de JSON-uitvoer: version="2.1" wordt "@_version": "2.1" onder appConfig, en de max- en min-attributen van het pool-element worden "@_max": "10" en "@_min": "2". Alle waarden — inclusief port en ttl — blijven strings, geen getallen, want de omzetter past geen type-omzetting toe.

Sitemapfragment

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://go-tools.org/tools/xml-to-json</loc>
    <lastmod>2026-05-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://go-tools.org/tools/json-to-xml</loc>
    <lastmod>2026-05-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Een sitemap.xml-fragment met twee URL's. Omdat er twee nevengeschikte -elementen onder staan, worden ze een JSON-array. De xmlns-naamruimtedeclaratie wordt "@_xmlns" op het urlset-object. De prioriteitswaarde "0.8" blijft een string — geen numerieke omzetting — zodat waarden met een voorloopnul zoals "0.08" ook exact worden bewaard.

RSS-item

<item>
  <title>XML to JSON: A Practical Guide</title>
  <link>https://go-tools.org/blog/xml-to-json-guide</link>
  <pubDate>Thu, 29 May 2026 00:00:00 GMT</pubDate>
  <category>Developer Tools</category>
  <description>Learn how XML attributes map to @_ keys, how repeated elements become arrays, and why values stay strings in any XML-to-JSON conversion.</description>
  <guid isPermaLink="true">https://go-tools.org/blog/xml-to-json-guide</guid>
</item>

Een RSS 2.0-itemelement. Het guid-element heeft een isPermaLink-attribuut, dus de JSON-uitvoer voor guid wordt een object met "@_isPermaLink": "true" en "#text": "https://go-tools.org/blog/xml-to-json-guide" — het attribuut en de tekstinhoud van het element bestaan naast elkaar als nevengeschikte sleutels. Alle andere elementen hebben alleen tekstinhoud en worden direct omgezet naar stringwaarden.

Zo gebruik je het

  1. 1

    Plak je XML

    Voer je XML in of plak deze in het invoerveld hierboven. Je kunt ook op 'Voorbeeld laden' klikken om een voorbeeld te proberen — een configuratiebestand, een sitemapfragment of een RSS-item.

  2. 2

    Bekijk de live JSON-uitvoer

    JSON verschijnt direct in het uitvoerpaneel. Attributen worden @_-prefixed sleutels, tekstinhoud van gemengde elementen wordt #text, en herhaalde nevengeschikte elementen worden arrays. Pas de inspringing (2 of 4 spaties) naar wens aan.

  3. 3

    Kopieer of download

    Klik op Kopiëren om de JSON naar je klembord te halen, of op Downloaden om het op te slaan als .json-bestand dat klaar is voor je toepassing, API of datapijplijn.

Veelgemaakte fouten bij conversie

Vergeten dat waarden strings blijven

De omzetter past geen type-omzetting toe. Als je vervolgcode JSON-getallen verwacht maar de XML numerieke strings bevat, moet je ze expliciet omzetten na het converteren. Vertrouwen op impliciete string-naar-getal-omzetting (JavaScripts == of rekenkundige operatoren) is foutgevoelig — gebruik altijd parseInt(), parseFloat() of Number() bewust.

✗ Fout
// XML: <timeout>30</timeout>
// JSON output: { "timeout": "30" }  ← string, not number
// Dangerous: comparing as-is
if (config.timeout > 25) { ... }  // "30" > 25 coerces, but fragile
✓ Correct
// XML: <timeout>30</timeout>
// JSON output: { "timeout": "30" }
// Safe: explicit coercion where you know the type
if (parseInt(config.timeout, 10) > 25) { ... }

Afwijking tussen enkel item en arrayvorm

Wanneer er slechts één -element is, is de uitvoer een object; bij twee of meer wordt het een array. Consumentcode die altijd result.items.forEach() uitvoert, loopt vast wanneer items een enkel object is. Normaliseer altijd naar een array na het converteren als je schema één-of-meer toestaat.

✗ Fout
// XML with one item: <root><item>a</item></root>
// JSON: { "root": { "item": "a" } }  ← string, not array
result.root.item.forEach(i => console.log(i));  // TypeError: not a function
✓ Correct
// Normalize to array regardless of count
const items = [].concat(result.root?.item ?? []);
items.forEach(i => console.log(i));  // safe for 0, 1, or many

Gemengde inhoud: tekst en de sleutel #text

Wanneer een element zowel attributen als tekstinhoud heeft, gaat de tekst onder #text. De tekstwaarde openen alsof het een gewone string is, geeft een object terug. Controleer altijd of een elementwaarde een string of een object met een #text-sleutel is wanneer attributen mogelijk zijn.

✗ Fout
// XML: <price currency="USD">29.99</price>
// JSON: { "price": { "@_currency": "USD", "#text": "29.99" } }
const amount = result.price;  // { "@_currency": "USD", "#text": "29.99" }, not "29.99"
✓ Correct
// Handle both plain string and @_/#text object
const raw = result.price;
const amount = typeof raw === 'object' ? raw['#text'] : raw;  // "29.99"

Niet-welgevormde XML-invoer

De omzetter vereist welgevormde XML. Veelvoorkomende oorzaken van welgevormdheidfouten: niet-geschreven & in tekstinhoud (gebruik &), niet-overeenkomende tags ( vs — XML is hoofdlettergevoelig), meerdere rootelementen of niet-gesloten tags. De foutmelding toont de regel en kolom van het eerste probleem.

✗ Fout
<!-- Unescaped & — well-formedness error -->
<query>name = 'Alice' & role = 'admin'</query>
✓ Correct
<!-- Escaped & — valid XML -->
<query>name = 'Alice' &amp; role = 'admin'</query>

Waarden met voorloopnullen beschadigd door omzetting

Deze tool behoudt voorloopnullen omdat hij geen type-omzetting toepast. Als je de JSON naverwerkt met een bibliotheek die wel omzet (sommige JSON-schemavalidators, ORM-mappers), kan de voorloopnul verloren gaan. Declareer het veldtype altijd expliciet als string in je schema.

✗ Fout
// XML: <zipCode>01234</zipCode>
// This tool outputs: { "zipCode": "01234" }  ← correct
// But if a downstream schema coerces:
// { zipCode: z.number() }  → 1234  ← leading zero lost
✓ Correct
// Declare ZIP codes and other padded identifiers as strings
// { zipCode: z.string() }  → "01234"  ← correct

Veelvoorkomende gebruiksscenario's

SOAP / oudere XML-API's consumeren
Oudere bedrijfsservices (bankwezen, verzekeringen, logistiek) bieden vaak SOAP-API's aan die XML retourneren. Converteer de response naar JSON om met de data te werken via moderne JavaScript-tooling, sla het op in een documentdatabase of stuur het door naar een REST API-consument.
RSS- en Atom-feeds verwerken
RSS 2.0- en Atom 1.0-feeds zijn XML. Converteer feed-XML naar JSON om titels, links, publicatiedatums en beschrijvingen te extraheren voor feedaggregators, inhoudspijplijnen en meldingssystemen zonder een afhankelijkheid van een XML-verwerkingsbibliotheek.
Sitemapbestanden verwerken
sitemap.xml-bestanden bevatten de URL's van een site met meta-data. Converteer een sitemap naar JSON om URL-dekking te analyseren, crawlwachtrijen te bouwen, sitemaps tussen omgevingen te vergelijken of URL's door te sturen naar een linkcontrole- of SEO-audittool.
Configuratiebestanden transformeren
Veel bedrijfssystemen (Spring, Maven, Ant, JBoss, Tomcat) gebruiken XML-configuratiebestanden. Converteer ze naar JSON voor analyse, migratiescripts, documentatiegeneratie of importeren in tools die native JSON spreken.
Mobiele en Android-ontwikkeling
Android-resources, layoutbestanden en AndroidManifest.xml zijn allemaal XML. Converteer ze naar JSON voor analysescripts, geautomatiseerde auditing of het genereren van documentatie over gedeclareerde machtigingen, activiteiten en resourcewaarden.
Datamigratie en ETL
Data-exports van bedrijfssystemen (ERP, CRM, salarisadministratie) komen vaak aan als XML. Converteer naar JSON als eerste stap in een ETL-pijplijn om de data te laden in een JSON-native dataopslag zoals MongoDB, Firestore of een REST API.

Technische details

Browser DOMParser voor XML-verwerking
XML-invoer wordt verwerkt via de ingebouwde DOMParser van de browser met het MIME-type 'text/xml' — dezelfde engine die wordt gebruikt voor het renderen van SVG en XHTML. Hij is volledig XML 1.0-conform en rapporteert welgevormdheidfouten met regel- en kolominformatie. Deze aanpak verwerkt naamruimten, CDATA-secties, verwerkingsinstructies en entiteitsreferenties correct zonder externe afhankelijkheid.
Recursieve DOM-naar-JSON-serialisatie
Na het verwerken doorloopt de tool de DOM-boom recursief. Elementknooppunten worden JSON-objecten; hun attributen worden @_-prefixed sleutels; tekst-enige elementen worden gewone stringwaarden; elementen met zowel attributen als tekstinhoud krijgen een #text-sleutel voor de tekstinhoud. Gelijknamige nevengeschikte elementen worden samengevat en als JSON-array uitgevoerd. Witruimte-tekstvelden tussen elementen worden verwijderd.
Geen type-omzetting — stringbehoud
Alle attribuutwaarden en tekstinhoud worden als strings naar de JSON-uitvoer geschreven. Geen parseInt, parseFloat of boolean-verwerking wordt toegepast. Dit is een bewuste ontwerpkeuze om stille databeschadiging te voorkomen voor waarden met voorloopnullen, precisiegevoelige decimalen en boolean-achtige strings. Type-omzetting, waar nodig, moet expliciet worden toegepast in vervolgcode.
100% browsergebaseerd — geen upload, geen server
Alle verwerking draait in de JavaScript-engine van je browser. Er worden geen gegevens via het netwerk verzonden. Invoer groter dan 200 KB schakelt automatisch over van live-modus naar handmatige modus (waarbij een expliciete klik op Omzetten nodig is) om de browser responsief te houden en blokkering van de hoofdthread tijdens zware DOM-doorloop te voorkomen.

Aanbevolen aanpak

Valideer eerst de welgevormdheid van XML
Als je XML-bron handgeschreven is of gegenereerd door een systeem dat soms foutieve uitvoer produceert, valideer het dan vóór het converteren. Gebruik de knop Valideren van de XML Formatter om te bevestigen dat de XML welgevormd is en precieze foutlocaties te krijgen voor eventuele problemen.
Normaliseer één-of-meer-velden naar arrays
Wanneer je XML-schema zowel één als meerdere kindelementen met dezelfde naam toestaat, is de JSON-uitvoer een object voor één element en een array voor meerdere. Normaliseer deze velden altijd in je consumentcode: const items = [].concat(result.items ?? []) — dit is veilig voor nul, één of meer en voorkomt TypeErrors.
Pas type-omzetting expliciet en selectief toe
Omdat deze tool alle waarden als strings behoudt, pas type-omzetting bewust toe in je code voor de specifieke velden die het nodig hebben. parseInt(val, 10) gebruiken voor een bekend getalveld is veilig. Brede omzetting toepassen met Number(val) riskeert het beschadigen van waarden met voorloopnullen, lege strings en precisiegevoelige decimalen.
Controleer op #text bij het openen van elementwaarden
Als een element in sommige payloads attributen kan hebben en in andere niet, is zijn JSON-waarde ofwel een gewone string (geen attributen) of een object met @_-sleutels en een #text-sleutel (met attributen). Schrijf robuuste accessors: const val = typeof node === 'object' ? node['#text'] : node. Dit patroon verwerkt beide vormen en vermijdt stille undefined-waarden.
Gebruik de XML Formatter voor verliesvrij XML-werk
XML-naar-JSON-conversie verwijdert commentaar, verwerkingsinstructies en naamruimtesemantiek. Als je alle XML-inhoud exact wilt bewaren, gebruik dan de XML Formatter om te verfraaien, minimaliseren en valideren zonder enig verlies. Converteer naar JSON alleen wanneer je met de data wilt werken in een JSON-native context.

Veelgestelde vragen

Wordt mijn XML-data naar een server verzonden wanneer ik deze tool gebruik?
Nee. Alle conversie vindt volledig plaats in je browser via JavaScript. Je XML wordt nooit via het netwerk verzonden, nooit opgeslagen op een server, en nooit gelogd of geanalyseerd. Dit maakt de tool veilig voor gebruik met XML-payloads met API-sleutels, interne serviceconfiguratie, SOAP WS-Security-tokens, medische HL7/FHIR-data of andere gevoelige inhoud. Je kunt dit verifiëren door het tabblad Netwerk van je browser te openen — je ziet nul verzoeken bij het plakken of converteren van XML.
Hoe worden XML-attributen weergegeven in de JSON-uitvoer?
XML-attributen worden JSON-sleutels met het prefix @_. Bijvoorbeeld: produceert een JSON-object met "@_id": "P01" en "@_category": "electronics" naast eventuele sleutels van kinderelementen. Wanneer een element zowel attributen als tekstinhoud heeft — zoals 29.99 — wordt de tekstinhoud opgeslagen onder de speciale sleutel "#text", zodat het resultaat wordt { "@_currency": "USD", "#text": "29.99" }. Deze conventie is consistent en voorspelbaar: @_ betekent altijd attribuut, #text betekent altijd elementtekstinhoud.
Past de omzetter getallen of booleans aan?
Nee. Alle XML-tekstinhoud en attribuutwaarden worden JSON-strings, ongeacht hoe ze eruitzien. 42 wordt "count": "42", niet 42. true wordt "enabled": "true", niet true. Dit is opzettelijk en belangrijk: het behoudt voorloopnullen (telefoonnummers, accountcodes, postcodes zoals "01234"), numerieke precisie voor waarden zoals "0.100" en stringwaarden die toevallig als boolean lijken. Als je getallen of booleans nodig hebt in je JSON verder in de pipeline, pas type-omzetting toe in je eigen code na het converteren — waar je precies bepaalt welke velden worden omgezet.
Hoe worden herhaalde (gelijknamige nevengeschikte) elementen verwerkt?
Een enkel kindelement wordt een JSON-object. Twee of meer kindelementen met dezelfde tagnaam onder dezelfde ouder worden een JSON-array. Zo produceert a het resultaat { "root": { "item": "a" } } — item is een object (string). Maar ab produceert { "root": { "item": ["a", "b"] } } — item is een array. Dit betekent dat de structuur van je JSON-uitvoer afhangt van het aantal nevengeschikte elementen in de XML, wat een van de redenen is waarom XML-naar-JSON-conversie op conventies is gebaseerd. Als je XML-schema zowel één als meerdere items kan bevatten, moet je consumentcode beide gevallen (object en array) kunnen verwerken.
Is XML-naar-JSON-conversie verliesvrij?
Nee. XML heeft functies zonder JSON-equivalent die verloren gaan bij conversie: XML-commentaar () wordt verwijderd, verwerkingsinstructies () worden verwijderd, naamruimteprefixbindingen worden gedeeltelijk bewaard als @_-attributen maar hun semantiek niet, en de relatieve volgorde van gemengde-inhoudsknooppunten (tekst afgewisseld met kindelementen) is mogelijk niet perfect omkeerbaar. Voor puur structurele XML zonder commentaar of verwerkingsinstructies behoudt de conversie alle elementnamen, attribuutnamen, attribuutwaarden en tekstinhoud. Voor verliesvrij XML-werk — formatteren, valideren of inspecteren van XML zonder gegevensverlies — gebruik de XML Formatter.
Hoe zet ik JSON terug naar XML?
Gebruik onze begeleidende JSON naar XML Omzetter. Hij past dezelfde conventies in omgekeerde volgorde toe: @_-prefixed sleutels worden XML-attributen, #text-sleutels worden elementtekstinhoud, en JSON-arrays worden herhaalde gelijknamige nevengeschikte elementen. Dit maakt de twee tools symmetrisch voor gebruik bij heen-en-weer-conversies.
Wat gebeurt er met XML-naamruimten?
Naamruimtedeclaraties (xmlns="..." en xmlns:prefix="...") worden behandeld als gewone attributen en verschijnen in de JSON-uitvoer als @_xmlns- en @_xmlns:prefix-sleutels. Het naamruimteprefix in elementnamen wordt bewaard als onderdeel van de sleutelnaam (bijv. wordt "soap:Body" in de JSON). De semantische betekenis van naamruimten — dat twee prefixen naar dezelfde URI kunnen verwijzen — wordt niet geïnterpreteerd. Als nauwkeurige naamruimteverwerking voor jouw gebruiksscenario van belang is, verwerk de XML dan in een naamruimtebewuste parser in plaats van naar JSON te converteren.
Waarom wordt 0123 "0123" en niet 123?
Omdat de omzetter geen type-omzetting toepast. De string "0123" en het getal 123 zijn verschillende waarden: "0123" heeft een voorloopnul die in veel contexten betekenisvol is (accountcodes, postcodes, nationale identificatienummers, geopte identifiers). Het stilzwijgend weggooien van die voorloopnul zou data beschadigen. De veilige standaard is om alle waarden als strings exact te bewaren zoals ze in de XML verschijnen. Pas numeriek verwerken selectief toe in je eigen code voor de specifieke velden waarvan je weet dat de waarde altijd een gewoon geheel getal is.
Wat is het verschil tussen deze tool en een XML-formatter?
De XML Formatter herformatteert XML — hij wijzigt inspringing en witruimte maar de uitvoer is nog steeds XML. Deze XML naar JSON Omzetter wijzigt het formaat volledig: de uitvoer is een JSON-document dat de XML-structuur weergeeft met de @_-attribuutconventie. Gebruik de formatter als je XML wilt lezen, bewerken, valideren of minimaliseren. Gebruik deze omzetter als je met de XML-data wilt werken in een JavaScript-toepassing, het wilt doorgeven aan een REST API, of opslaan in een JSON-documentopslag.
Is er een bestandsgroottelimiet?
Er is geen harde limiet, maar invoer groter dan 200 KB schakelt automatisch over van live-conversie naar handmatige modus. In handmatige modus verschijnt een Omzetten-knop en vindt conversie alleen plaats wanneer je erop klikt — dit houdt de browser responsief bij het verwerken van grote XML-documenten. Voor zeer grote XML-bestanden (meerdere megabytes aan data-exports) kun je beter commandoregeltools overwegen voor betere prestaties: python3 -c "import sys, xmltodict, json; print(json.dumps(xmltodict.parse(sys.stdin.read()), indent=2))" of node -e met een speciale XML-naar-JSON-bibliotheek.
Verwerkt de omzetter CDATA-secties?
Ja. CDATA-sectie-inhoud () wordt behandeld als elementtekstinhoud en verschijnt als een gewone stringwaarde in de JSON-uitvoer. De CDATA-afbakeningen zelf worden verwijderd — alleen de inhoud erin wordt bewaard. Zo produceert "note": "if (a < b) return;" in JSON. Dit is het juiste gedrag: CDATA is slechts een manier om tekst met speciale tekens in te sluiten zonder ze te schrijven; de semantische betekenis is de tekstinhoud.
Kan ik XML met meerdere rootelementen converteren?
Nee. XML met meerdere rootelementen is niet welgevormd, en deze tool vereist welgevormde XML-invoer. Als je XML-parser meerdere rootelementen geeft (gangbaar bij het samenvoegen van XML-fragmenten), wikkel ze dan in één rootelement vóór het converteren. Als je bijvoorbeeld hebt, converteer dat als . De foutmelding geeft de positie van het welgevormdheidsprobleem aan zodat je het snel kunt oplossen.

Gerelateerde tools

Alle tools bekijken →