JSON til XML-konverter
Lim inn JSON til venstre, få velformet XML til høyre. Nøkler med @_-prefiks blir attributter. Ingen opplasting.
- Lim inn JSON i tekstområdet til venstre.
- Klikk «Konverter til XML». JSON-nøkler blir elementer; @_-nøkler blir attributter.
- Kopier eller last ned den formaterte XML-en.
- Pakk dataene dine inn i én rotnøkkel — XML krever ett toppnivå-element.
Hva gjør det?
Konverterer et JSON-objekt til XML med fast-xml-parser-konvensjonen. Objektegenskaper blir barn-elementer; egenskaper med `@_`-prefiks blir attributter på foreldren; arrays blir gjentatte søsken-elementer med samme tagnavn. Tall, booleanske og strenger sendes ut som tekstinnhold. Utdata er innrykket for lesbarhet.
Eksempel
JSON-inndata:
{
"root": {
"@_version": 1,
"name": "Ada",
"tags": ["math", "logic"]
}
} XML-utdata:
<root version="1">
<name>Ada</name>
<tags>math</tags>
<tags>logic</tags>
</root> Vanlige JSON-til-XML-fallgruver
XML er strengere enn JSON med struktur. Mønstrene under dekker det meste av overraskende utdata.
- Ingen enkelt rot. XML krever nøyaktig ett rot-element. JSON-objekter med flere toppnøkler produserer flere røtter, som er ugyldig XML. Pakk inn input i én nøkkel: `{"root": {"a":1, "b":2}}`.
- Toppnivå-array. En JSON-array `[{"a":1},{"a":2}]` har ikke noe rot-elementnavn å bruke. Pakk den inn: `{"items": [{"a":1},{"a":2}]}`. Hver array-oppføring blir da et `<items>`-element.
- Elementnavn med mellomrom eller symboler. XML-elementnavn kan ikke inneholde mellomrom, starte med et siffer eller inneholde `:`, `/`, `<` osv. Sanitér JSON-nøkler før konvertering — erstatt mellomrom med `_`, prefiks sifre med en bokstav.
- Attributter vs. elementer. En JSON-nøkkel `id` blir et barn-element `<id>1</id>`. For å gjøre den til en attributt (`<user id="1">`), prefiks nøkkelen med `@_`: `{"user":{"@_id":1}}`. Prefikset fjernes ved utdata.
- null-verdier. JSON `null` blir et tomt element (`<x/>`). Trenger du det utelatt helt, fjern null-verdier fra JSON-en før konvertering.
- Spesialtegn i tekst. XML escaper `<`, `>`, `&`, `"` og `\'` automatisk. Din JSON-streng `"<b>hi</b>"` blir teksten `<b>hi</b>`, ikke nestede elementer. Bruk en mellomliggende JSON-struktur hvis du vil ha faktisk nesting.
Ofte stilte spørsmål
Hvordan får jeg en XML-deklarasjon `<?xml version="1.0"?>`?
Sett den foran utdataen selv — konverteren sender ikke ut deklarasjon. For UTF-8 XML er deklarasjonen teknisk valgfri men ofte inkludert: `<?xml version="1.0" encoding="UTF-8"?>` etterfulgt av din konverterte XML.
Bevares JSON-arrays som gjentatte elementer?
Ja. `{"tags":["a","b"]}` blir `<tags>a</tags><tags>b</tags>` — to søsken med samme tag, som er XML-standardrepresentasjon av en gjentatt verdi.
Kan jeg få JSON-stil nestede arrays i XML?
Ikke direkte. XML har ingen native array-konsept; bare gjentatte søsken. Nestede arrays i JSON blir en flatere XML-struktur der konteksten avgjør grupperingen. Tur-retur XML → JSON → XML gjennom dette verktøyet bevarer det tur-retur-bare delsettet.
Hvordan håndteres datoer?
JSON har ingen Date-type — datoer er typisk allerede ISO 8601-strenger. De blir element-tekstinnhold uendret. Hvis XML-en din nedstrøms forventer et spesifikt datoformat, sørg for at JSON-en bruker det formatet.
Lastes JSON-en min opp?
Nei. Alt kjører i nettleseren din — inndata blir parset og konvertert av JavaScript på denne siden og sendes aldri til noen server.
Vil tur-retur JSON → XML → JSON bevare dataene mine?
For typiske strukturerte data med @_-attributtkonvensjonen, ja — semantisk. Noen kanttilfeller (blandet tekst + barn-elementer, attributtrekkefølge vs. elementrekkefølge) kan normaliseres. Hvis nøyaktig byte-ekvivalens betyr noe, ikke gå tur-retur via XML.