Was dieses Werkzeug tut
Jedes Element wird ein Schlüssel; seine Kinder werden der Wert.
<user id="1"><name>Ada</name></user>
{ "user": { "name": "Ada", "@_id": "1" } }
Drei Stellen, an denen die Modelle auseinandergehen
XML und JSON beschreiben nicht dieselben Formen, und jeder Konverter muss entscheiden. Das sind die Entscheidungen.
Attribute
Sie werden Schlüssel mit dem Präfix @_. JSON hat eine Art von Member; XML hat Attribute und Elemente, und sie können denselben Namen tragen — <user id="1"><id>2</id></user> enthält zwei verschiedene Dinge namens id. Das Präfix hält sie auseinander. Ein Schalter entfernt Attribute, wenn Sie sie nicht brauchen.
Trägt ein Element Text und Attribute zugleich, landet der Text unter #text.
Wiederholung
Ein <item> ergibt ein Objekt. Zwei ergeben ein Array.
<r><i>1</i></r> → { "r": { "i": 1 } }
<r><i>1</i><i>2</i></r> → { "r": { "i": [1, 2] } }
Das ist kein behebbarer Mangel: nichts in einem XML-Dokument sagt, ob ein Element wiederholbar ist. Nur ein Schema weiß es. Erwartet Ihr Code eine Liste, normalisieren Sie sie beim Eintreffen.
Gemischter Inhalt
Diesen kann JSON schlicht nicht ausdrücken, und das gehört deutlich gesagt.
<p>Hallo <b>Welt</b> nochmal</p>
JSON hat keine Möglichkeit zu sagen, dass Hallo vor <b> stand und nochmal danach. Die Textstücke werden unter #text gesammelt, und ihre Position gegenüber den Elementen geht verloren, ebenso der Abstand dazwischen. Zählt der Text — ein Dokument statt eines Datensatzes —, dann wandeln Sie nichts um und nehmen den XML-Formatierer.
Typen
<a>1</a> ergibt die Zahl 1. <a>007</a> ergibt die Zeichenkette "007", denn eine führende Null ist meist eine Postleitzahl oder eine Kontonummer, und sie als Sieben zu lesen verliert sie. Ein zwanzigstelliger Bezeichner bleibt ebenfalls eine Zeichenkette: eine JSON-Zahl würde ihn runden.
Was keine Daten sind
Die XML-Deklaration und jede Verarbeitungsanweisung entfallen. Sie beschreiben das Dokument, nicht seinen Inhalt — ein ?xml-Schlüssel neben Ihrem Wurzelelement war nie eine Information, nach der Sie gefragt haben.
Datenschutz ab Werk
Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.