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.
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.
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.
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 , und werden deshalb entfernt. Ein Wagenrücklauf wird als 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.
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>.
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.
Diese Seite in anderen Sprachen: English · العربية · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা