JSON til XML-konverter

Lim inn JSON til venstre, få velformet XML til høyre. Nøkler med @_-prefiks blir attributter. Ingen opplasting.

  1. Lim inn JSON i tekstområdet til venstre.
  2. Klikk «Konverter til XML». JSON-nøkler blir elementer; @_-nøkler blir attributter.
  3. Kopier eller last ned den formaterte XML-en.
  4. 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 `&lt;b&gt;hi&lt;/b&gt;`, 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.