JSON-zu-XML-Konverter
Konvertieren Sie JSON-Daten in XML. @attributes wird zu Element-Attributen, #text zu Textinhalt und Arrays werden zu wiederholten Geschwisterelementen — der umgekehrte Vorgang zu unserem XML-zu-JSON-Konverter, direkt im Browser.
Wie diese Umwandlung von JSON nach XML arbeitet
JSON und XML beschreiben beide strukturierte Daten, aber sie beschreiben nicht ganz dasselbe. XML kennt Attribute und Textinhalt – zwei Konzepte, die es in JSON nicht gibt. Jede unmittelbare Umwandlung stößt deshalb immer auf dieselben zwei Fragen: Wie werden Attribute ausgedrückt, und wie wird ein Array wieder zu wiederholten Elementen? Dieses Werkzeug folgt der weit verbreiteten Konvention und bildet `@attributes` auf die Attribute des Elements ab, `#text` auf den Textinhalt und Arrays auf Geschwisterelemente mit gleichem Namen.
So wird aus `{"book": {"@attributes": {"id": "1"}, "#text": "Titel"}}` etwa `
So wandeln Sie JSON in XML um
- Fügen Sie das JSON ein Geben Sie das JSON ein, das Sie umwandeln möchten – als Objekt oder als Array.
- Legen Sie Attribute in @attributes ab Sammeln Sie die Schlüssel, die als Attribute des Elements ausgegeben werden sollen, in einem Objekt `@attributes`.
- Legen Sie den Textinhalt in #text ab Wenn ein Element zugleich Attribute und einen Rumpf tragen soll, setzen Sie den Wert des Rumpfes unter `#text`.
- Prüfen Sie das Ergebnis und kopieren Sie es Sie erhalten eingerücktes XML, das Sie direkt in eine Konfigurationsdatei oder eine API-Anfrage einfügen können.
Tipps für die Nutzung
- Legen Sie ein Objekt unter dem Schlüssel `@attributes` ab, und jede seiner Eigenschaften wird zu einem Attribut des konvertierten Elements.
- Verwenden Sie einen Schlüssel `#text` für den Textinhalt eines Elements, das auch Attribute oder Kindelemente hat. Ein einfaches Element ohne Attribute kann direkt eine Zeichenkette als Wert verwenden.
- Geben Sie demselben Schlüssel ein Array, und jedes Element wird als wiederholtes Geschwisterelement mit diesem Namen ausgegeben.
- Ein Wert von `null` erzeugt ein leeres, selbstschließendes Tag (`
`) ohne Attribute, Text oder Kinder. - Dieses Tool erwartet eine Eingabe im Format, das unser "XML-zu-JSON-Konverter" erzeugt (ein Objekt mit dem Namen des Wurzelelements als Schlüssel, mit genau einem Schlüssel auf oberster Ebene).
Wofür sich das eignet
Senden an eine API, die nur XML annimmt
Wenn Ihre Daten als JSON vorliegen, die Gegenstelle aber XML verlangt – bei der Anbindung älterer Unternehmenssysteme ein häufiger Fall.
Ein Konfigurationsformat migrieren
Nützlich als erster Entwurf, wenn Sie in JSON geschriebene Einstellungen auf ein XML-basiertes Werkzeug übertragen.
XML-Strukturen in JSON durchdenken
Tief verschachteltes XML von Hand zu schreiben ist mühsam; es erst in JSON aufzubauen und anschließend umzuwandeln bleibt deutlich übersichtlicher.
Die Konvention selbst festlegen
Auszuprobieren, wie sich `@attributes` und `#text` auswirken, hilft bei der Spezifikation eines eigenen Konverters.
Begriffe der JSON-nach-XML-Umwandlung
- Attribut
- Der Teil `id="1"` in `
`. JSON kennt dafür keine Entsprechung, daher stellt dieses Werkzeug ihn über den besonderen Schlüssel `@attributes` dar. - Textinhalt (#text)
- Der Rumpf von `
Titel `. Verwenden Sie `#text`, wenn ein Element Attribute und Rumpf zugleich tragen soll. - Entity-Referenz (Maskierung)
- Das Umschreiben von `&` zu `&` und Ähnliches. **Das kaufmännische Und muss zuerst umgewandelt werden, sonst wird das `&` in einem gerade erzeugten `<` ein zweites Mal maskiert.**
- Wiederholte Geschwisterelemente
- XML drückt eine Liste durch die Wiederholung von Elementen mit gleichem Tag-Namen aus. Ein JSON-Array nimmt wieder diese Gestalt an.
- Wurzelelement
- XML verlangt auf oberster Ebene genau ein Element. Enthält die oberste Ebene Ihres JSON mehrere Schlüssel, will das bedacht sein.
Häufig gestellte Fragen
Übrigens – Worauf man achten sollte, wenn man JSON zurück in XML verwandelt
Die Umwandlung von XML in JSON ähnelt einer Informationskompression. XML kann drei Arten von Informationen tragen — Attribute, Text und Kindelemente —, während JSON nur einfache Schlüssel-Wert-Paare kennt. Deshalb muss bei der Konvertierung eine Konvention gewählt werden (dieses Tool folgt denselben vier Regeln: `@attributes`, `#text`, Arrays und null). Solange diese Konvention eingehalten wird, ist die Rückumwandlung von JSON in XML ein mechanischer, eindeutig definierter Vorgang — wird aber frei strukturiertes JSON, das dieser Konvention nicht folgt, gewaltsam in XML gepresst, kann unklar bleiben, was ein Attribut und was ein Element sein soll, und das Ergebnis entspricht möglicherweise nicht den Erwartungen.
In der Praxis kommt das vor, wenn die Antwort einer veralteten XML-API zur einfacheren Verarbeitung in JavaScript zunächst in JSON umgewandelt und anschließend wieder in XML zurückverwandelt wird, um sie an ein anderes System zu senden — etwa wenn die Antwort einer SOAP-API als JSON aufbereitet und danach wieder als SOAP-artige Anfrage zurückgeschickt werden muss. Bei einer solchen Hin- und Rückkonvertierung ist es entscheidend, die Konvertierungskonvention konsistent zu halten; wird zwischendurch ein Tool mit einer anderen Konvention verwendet, kann die Zuordnung zwischen Attributen und Text durcheinandergeraten.
Dass dieses Tool strikt genau einen Schlüssel auf oberster Ebene verlangt, spiegelt eine Regel von XML selbst wider — ein Dokument muss genau ein Wurzelelement haben. Wenn Sie JSON mit mehreren Schlüsseln auf oberster Ebene konvertieren müssen, verpacken Sie es zuvor in einen gemeinsamen übergeordneten Schlüssel (z. B. `root`), und es wird sauber in XML mit einem einzigen Wurzelelement umgewandelt.