{ }JSONKit.tools

XML zu JSON Konverter

XML einfügen und JSON zurückbekommen — Attribute bleiben als Schlüssel mit @-Präfix erhalten, wiederholte Elemente werden zu Arrays gesammelt. Ungültiges XML wird mit Zeile und Spalte gemeldet.

XML → JSON⇄JSON → XML

XML

JSON

Warte auf Eingabe …

Über dieses Tool

XML trägt zwei Arten von Daten, für die JSON nur einen Platz hat: Kindelemente und Attribute. Dieser Konverter behält beide, indem er Attributnamen ein @ voranstellt — so geht nichts verloren und beide bleiben unterscheidbar. Wiederholte Geschwisterelemente fallen zu einem Array zusammen, weil JSON einen Schlüssel nicht wiederholen kann. Das Dokument wird vor dem Parsen validiert, ein nicht passendes Tag liefert also eine Zeilennummer statt eines halb konvertierten Objekts.

So wird es benutzt

  1. 1Ein XML-Dokument ins linke Panel einfügen.
  2. 2Das JSON rechts lesen — Attribute erscheinen als @name-Schlüssel.
  3. 3Auf Baum umstellen, um tiefe Dokumente zu falten, oder Kopieren drücken.

Häufige Fragen

›Was passiert mit XML-Attributen?

Sie werden zu Schlüsseln mit @-Präfix auf demselben Objekt wie das Element, aus <user id="7"> wird also { "user": { "@id": "7" } }. Nichts geht verloren, und man erkennt ein Attribut auf einen Blick von einem Kindelement.

›Warum wurden meine wiederholten Elemente zu einem Array?

Weil JSON einen Schlüssel nicht wiederholen kann. Ein <item> ist ein Objekt; zwei oder mehr werden zu einem Array von Objekten. Das ist die eine Stelle, an der dasselbe Schema je nach Daten unterschiedliche JSON-Formen erzeugt.

›Ist die Konvertierung umkehrbar?

Größtenteils. Elemente, Attribute und Text überstehen den Rundweg. Was nicht: Kommentare, Verarbeitungsanweisungen, Namensraumdeklarationen als solche und der Unterschied zwischen einem leeren Element und einem leeren String.

›Was gilt hier als ungültiges XML?

Nicht geschlossene oder nicht passende Tags, mehr als ein Wurzelelement, verirrte < oder & im Text sowie unquotierte Attributwerte. Der Fehler nennt Zeile und Spalte, damit man direkt hinspringen kann.

›Werden Zahlen im XML konvertiert?

Ja. Text, der eine gültige Zahl oder ein Boolean ist, wird zu einer JSON-Zahl oder einem JSON-Boolean statt zu einem quotierten String — meist genau das, was man will, wenn das Ergebnis in Code weiterläuft.