JSON in XML umwandeln

Läuft auf Ihrem Gerät · Ihre Datei verlässt nie Ihr Gerät.

Fügen Sie JSON ein oder legen Sie eine Datei ab und erhalten Sie ein XML-Dokument mit Deklaration am Anfang und einem Element pro Schlüssel. Hat das Dokument genau einen Schlüssel auf oberster Ebene, wird er zum Wurzelelement; alles andere kommt in <root>. Eine Liste wird zu wiederholten Elementen mit dem Namen ihres Schlüssels – "items": [..] ergibt mehrere <items>-Elemente – und eine Liste auf oberster Ebene wird zu <item>-Elementen unter <root>.

Schlüssel, die mit @ beginnen, werden zu Attributen, und ein Schlüssel "#text" wird zum Text des Elements – die Form, die das Werkzeug „XML in JSON“ schreibt; ein dort umgewandeltes Dokument kommt hier also als dasselbe XML zurück. Jeder andere Wert steht als Text in seinem Element, null wird zu einem leeren Element, und das Dokument ist mit zwei Leerzeichen pro Ebene eingerückt. Schlüssel, die XML nicht als Namen erlaubt – mit Ziffer am Anfang, mit Leerzeichen oder Sonderzeichen – werden mit Unterstrichen bereinigt, sodass das Ergebnis immer einlesbar ist.

Text wird korrekt maskiert (&, <, > und in Attributen auch Anführungszeichen und Zeilenumbrüche); Steuerzeichen, die XML 1.0 überhaupt nicht fassen kann, werden entfernt. Die Kodierung ist UTF-8, und Sie sehen die ersten 200 Zeilen vor dem Herunterladen. Nichts wird hochgeladen.

So geht’s: JSON in XML umwandeln

  1. Legen Sie eine JSON-Datei ab oder fügen Sie JSON in das Feld ein.
  2. Klicken Sie auf „In XML umwandeln“.
  3. Prüfen Sie die Vorschau und laden Sie die .xml herunter.

Unterstützte Formate und Grenzen

Eingabe
JSON (.json) – Datei oder eingefügter Text
Ausgabe
XML 1.0, UTF-8, Deklaration am Anfang, formatiert
Wurzel
Der einzige Schlüssel auf oberster Ebene, sonst <root>; eine Liste auf oberster Ebene wird zu <item>-Elementen
Listen
Wiederholte Elemente mit dem Namen des Schlüssels
Wo es läuft
Im Browser – ohne Upload

Nicht geeignet für: Ein bestimmtes XML-Schema treffen (SOAP, RSS, XRechnung oder ein anderer Rechnungsstandard) – die Elementnamen folgen Ihren JSON-Schlüsseln, nicht einem Schema.

Wie aus Ihren Schlüsseln Elementnamen werden

Ein Schlüssel, der mit @ beginnt, wird zu einem Attribut, und ein Schlüssel "#text" wird zum Text des Elements: {"item": {"@id": 3, "#text": "A"}} ergibt <item id="3">A</item>. Hat das Dokument genau einen Schlüssel auf oberster Ebene, wird dieser zum Wurzelelement; andernfalls steht alles in <root>.

Ein Zeichen, das XML in einem Namen nicht erlaubt, wird zu einem Unterstrich, und ein Name, der mit einem Zeichen beginnt, das am Anfang nicht stehen darf, etwa einer Ziffer, bekommt einen Unterstrich davor: "1. Platz" wird zu <_1._Platz>. Ein Doppelpunkt bleibt nur erhalten, wenn sein Präfix weiter oben deklariert ist, wie in "@xmlns:soap"; ein nicht deklariertes "soap:Body" wird zu <soap_Body>, weil kein namensraumfähiger Parser es sonst lesen würde. Buchstaben jeder Schrift sind erlaubt, ein Schlüssel wie "Größe", "اسم" oder "名前" bleibt also, wie er ist.

Wie die Werte aussehen

Jeder Wert wird als Text geschrieben, Zahlen genau so, wie das JSON sie enthält: 1.0 bleibt 1.0, und 12345678901234567890 behält jede Ziffer. null und ein leeres Objekt werden beide zu einem leeren Element wie <note/>, und eine leere Liste schreibt gar nichts – das XML kann diese drei Fälle also nicht unterscheiden.

Steuerzeichen, also Codes unter 32 außer Tabulator, Zeilenvorschub und Wagenrücklauf, lassen sich in XML 1.0 überhaupt nicht schreiben, nicht einmal als Zahl wie &#1;, und werden deshalb entfernt. Ein Wagenrücklauf wird als &#13; geschrieben, damit ein Parser ihn behält. In Attributwerten werden außerdem Anführungszeichen, Tabulatoren und Zeilenumbrüche als Referenzen geschrieben, weil ein Parser sie sonst in Leerzeichen verwandeln würde.

Listen in Listen verlieren ihre Gruppierung

Wiederholte Elemente können nur eine Listenebene ausdrücken. "m": [[1, 2], [3]] wird zu drei <m>-Elementen mit 1, 2 und 3, und dass 1 und 2 zusammengehörten, geht verloren. Eine Liste auf oberster Ebene verhält sich genauso: [1, [3, 4]] ergibt drei <item>-Elemente. Ist die Gruppierung wichtig, verpacken Sie jede innere Liste zuerst in ein Objekt: [{"values": [1, 2]}, {"values": [3]}] ergibt zwei <item>-Elemente, jedes mit seinem eigenen <values>.

Von XML zu JSON und zurück

Ein Dokument, das /xml-to-json durchlaufen hat, kommt als dieselben Elemente, Attribute, Namensraum-Präfixe und Texte zurück, ohne zusätzliche Hülle. Was das JSON nie enthielt, kommt nicht zurück: Kommentare und die DOCTYPE-Angabe, die Position von Text zwischen Kindelementen und die Reihenfolge zwischen Elementen verschiedener Namen – diese kommen nach Namen gruppiert zurück. War in /xml-to-json die Typerkennung an, kommt ein Wert wie TRUE als true zurück; schalten Sie die Erkennung dort aus, wenn der Weg hin und zurück Wort für Wort gleich bleiben soll.

Häufige Fragen

Werden meine Dateien auf einen Server hochgeladen?
Nein. Die Umwandlung läuft vollständig in Ihrem Browser, mit der Rechenleistung Ihres eigenen Geräts. Die Datei verlässt Ihren Computer oder Ihr Handy nicht. Und wurde ein Werkzeug einmal benutzt, funktioniert es auch ohne Internetverbindung weiter (Video, Texterkennung und Hintergrundentfernung laden ihre Engine beim ersten Mal von dieser Website).
Wie werden Listen dargestellt?
Als wiederholte Elemente. {"items": [1, 2]} wird zu <items>1</items><items>2</items>. Eine Liste ganz oben im Dokument wird zu <item>-Elementen innerhalb von <root>. Eine leere Liste erzeugt gar kein Element.
Was passiert mit Schlüsseln, die Leerzeichen oder Ziffern enthalten?
XML-Elementnamen dürfen nicht mit einer Ziffer beginnen und keine Leerzeichen enthalten. Solche Schlüssel werden bereinigt: "1. Platz" wird zu _1._Platz, "Preis netto" zu Preis_netto. Alles andere bleibt, wie es ist.
Kann ich Attribute statt Kindelementen bekommen?
Ja: Setzen Sie @ vor den Schlüssel. {"item": {"@id": 3, "name": "A"}} ergibt <item id="3"><name>A</name></item>. Das ist die Form, die das Werkzeug „XML in JSON“ schreibt, der Weg hin und zurück ergibt also wieder dasselbe Dokument.

Ähnliche Werkzeuge

Mehr in Tabellen und Daten

Diese Seite in anderen Sprachen: English · العربية · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা