JSON zu XML Konverter
Fügen Sie JSON links ein, erhalten Sie wohlgeformtes XML rechts. Schlüssel mit @_-Präfix werden zu Attributen. Kein Upload.
- Fügen Sie JSON in den linken Textbereich ein.
- Klicken Sie auf „In XML umwandeln". JSON-Schlüssel werden zu Elementen; @_-Schlüssel zu Attributen.
- Kopieren Sie das formatierte XML oder laden Sie es herunter.
- Verpacken Sie Ihre Daten mit einem einzelnen Wurzelschlüssel — XML benötigt ein Top-Level-Element.
Was macht es?
Konvertiert ein JSON-Objekt in XML mit der fast-xml-parser-Konvention. Objekteigenschaften werden zu Kindelementen; Eigenschaften mit `@_`-Präfix werden zu Attributen am Eltern; Arrays werden zu wiederholten Geschwister-Elementen mit demselben Tag-Namen. Zahlen, Booleans und Strings werden als Textinhalt ausgegeben. Die Ausgabe ist zur Lesbarkeit eingerückt.
Beispiel
JSON-Eingabe:
{
"root": {
"@_version": 1,
"name": "Ada",
"tags": ["math", "logic"]
}
} XML-Ausgabe:
<root version="1">
<name>Ada</name>
<tags>math</tags>
<tags>logic</tags>
</root> Häufige JSON-zu-XML-Stolperfallen
XML ist strenger als JSON in Bezug auf Struktur. Die folgenden Muster decken die meisten überraschenden Ausgaben ab.
- Keine einzelne Wurzel. XML benötigt genau ein Wurzelelement. JSON-Objekte mit mehreren Top-Level-Schlüsseln erzeugen mehrere Wurzeln, was ungültiges XML ist. Verpacken Sie Ihren Input in einen einzelnen Schlüssel: `{"root": {"a":1, "b":2}}`.
- Top-Level-Array. Ein JSON-Array `[{"a":1},{"a":2}]` hat keinen zu verwendenden Wurzelelementnamen. Verpacken Sie es: `{"items": [{"a":1},{"a":2}]}`. Jeder Array-Eintrag wird dann zu einem `<items>`-Element.
- Elementnamen mit Leerzeichen oder Symbolen. XML-Elementnamen dürfen keine Leerzeichen enthalten, mit einer Ziffer beginnen oder `:`, `/`, `<` usw. enthalten. Bereinigen Sie JSON-Schlüssel vor der Konvertierung — ersetzen Sie Leerzeichen durch `_`, präfixen Sie Ziffern mit einem Buchstaben.
- Attribute vs. Elemente. Ein JSON-Schlüssel `id` wird zu einem Kindelement `<id>1</id>`. Um es zu einem Attribut zu machen (`<user id="1">`), präfixen Sie den Schlüssel mit `@_`: `{"user":{"@_id":1}}`. Das Präfix wird in der Ausgabe entfernt.
- null-Werte. JSON `null` wird zu einem leeren Element (`<x/>`). Wenn Sie es vollständig auslassen müssen, entfernen Sie null-Werte aus Ihrem JSON vor der Konvertierung.
- Sonderzeichen im Text. XML escapet `<`, `>`, `&`, `"` und `\'` automatisch. Ihre JSON-Zeichenfolge `"<b>hi</b>"` wird zum Text `<b>hi</b>`, nicht zu verschachtelten Elementen. Verwenden Sie eine Zwischen-JSON-Struktur, wenn Sie tatsächliche Verschachtelung wollen.
Häufig gestellte Fragen
Wie bekomme ich eine XML-Deklaration `<?xml version="1.0"?>`?
Stellen Sie sie selbst der Ausgabe voran — der Konverter gibt keine Deklaration aus. Für UTF-8-XML ist die Deklaration technisch optional, aber häufig enthalten: `<?xml version="1.0" encoding="UTF-8"?>` gefolgt von Ihrem konvertierten XML.
Werden JSON-Arrays als wiederholte Elemente erhalten?
Ja. `{"tags":["a","b"]}` wird zu `<tags>a</tags><tags>b</tags>` — zwei Geschwister mit demselben Tag, was die XML-Standarddarstellung eines wiederholten Wertes ist.
Kann ich JSON-Stil verschachtelte Arrays in XML bekommen?
Nicht direkt. XML hat kein natives Array-Konzept; nur wiederholte Geschwister. Verschachtelte Arrays in JSON werden zu einer flacheren XML-Struktur, in der der Kontext die Gruppierung bestimmt. Round-Trip XML → JSON → XML durch dieses Tool erhält die round-trippable Untermenge.
Wie werden Datumsangaben behandelt?
JSON hat keinen Date-Typ — Daten sind typischerweise schon ISO-8601-Strings. Diese werden als Element-Textinhalt unverändert. Wenn Ihr nachgelagertes XML ein bestimmtes Datumsformat erwartet, stellen Sie sicher, dass das JSON dieses Format verwendet.
Wird mein JSON hochgeladen?
Nein. Alles läuft in Ihrem Browser — Ihre Eingabe wird durch JavaScript auf dieser Seite geparst und konvertiert und nie an einen Server gesendet.
Wird der Round-Trip JSON → XML → JSON meine Daten erhalten?
Für typische strukturierte Daten mit der @_-Attributkonvention, ja — semantisch. Einige Sonderfälle (gemischter Text + Kindelemente, Attributreihenfolge vs. Elementreihenfolge) können normalisiert werden. Wenn exakte byte-äquivalente Übereinstimmung wichtig ist, machen Sie keinen Round-Trip über XML.