Zum Inhalt springen

XML in JSON umwandeln

Wandeln Sie ein XML-Dokument in JSON um: Attribute als @-Schlüssel, wiederholte Elemente als Arrays, Zahlen als Zahlen. Der XML-Parser Ihres Browsers verarbeitet alles auf Ihrem Gerät.

Umwandeln in
XML-Datei hierher ziehenXML bis 100 MB · JSON, CSV, XLSX, XLS, ODS bis 500 MB
Datei auswählenAuf Ihrem Gerät verarbeitet – wird nicht hochgeladen
Läuft in Ihrem Browser · kein UploadSo funktioniert's

So verwenden Sie XML in JSON

  1. 1

    XML einfügen oder hierher ziehen

    Eine .xml-Datei, ein RSS- oder Atom-Feed, eine SOAP-Antwort oder beliebiger XML-Text; die in der Deklaration angegebene Kodierung wird berücksichtigt.

  2. 2

    JSON-Struktur festlegen

    Attribute als @-Schlüssel, als einfache Schlüssel oder gar nicht; Arrays nur für wiederholte Elemente oder überall; Zahlen typisiert oder als Text beibehalten.

  3. 3

    JSON kopieren

    Formatiert oder kompakt – in die Zwischenablage kopieren oder die .json-Datei herunterladen.

Limits und Pro

XML-Dateien bis 100 MB, eingefügtes XML in jeder Größe, die Ihr Browser verarbeiten kann.

Über XML in JSON

XML in JSON umzuwandeln ist dann nötig, wenn eine API, ein Behördenportal oder eine alte Schnittstelle XML liefert, Ihr Code aber JSON erwartet. Das Wurzelelement des Dokuments wird zum einzigen Schlüssel auf oberster Ebene, jedes untergeordnete Element wird zu einer Eigenschaft, und ein Element, das mehrfach unter demselben übergeordneten Element vorkommt, wird zu einem Array – in der Reihenfolge des Dokuments.

Für Attribute ist eine Entscheidung nötig, weil JSON sie nicht kennt. Standardmäßig werden sie als Schlüssel mit führendem @ geschrieben – <price currency="UZS">125000</price> wird zu {"@currency": "UZS", "#text": 125000}. So bleiben Attribute und untergeordnete Elemente getrennt, und das JSON lässt sich wieder in dasselbe XML zurückverwandeln. Einfache Schlüssel ergeben kürzere Objekte; Attribute wegzulassen passt zu Dokumenten, die sie nur für Verwaltungszwecke nutzen.

Werte: Bei aktivierter Typerkennung werden 42 und 3.5 zu JSON-Zahlen und true/false zu Booleschen Werten. Alles, was sich als Zahl gelesen verändern würde, bleibt jedoch ein String – etwa Postleitzahlen und Kontonummern mit führenden Nullen oder Zahlen mit mehr als 15 Stellen. Leere Elemente werden zu leeren Strings.

Namespaces bleiben wie geschrieben erhalten (dc:title), oder die Präfixe werden für sauberere Schlüssel entfernt; dann entfallen auch die xmlns-Deklarationen. „Immer Arrays verwenden“ gibt allen untergeordneten Elementen dieselbe Array-Form – praktisch, wenn manche Datensätze einen Autor haben und andere drei.

Nicht übernommen werden Kommentare, Verarbeitungsanweisungen und der DOCTYPE; Text, der mit Inline-Tags gemischt ist, etwa in XHTML-Absätzen, wird zu einem einzigen String zusammengefügt.

Datenschutz

Das XML wird in einem Hintergrund-Worker dieser Seite ohne Netzwerkanfrage verarbeitet; weder DTDs noch externe Entitäten werden abgerufen, und das Dokument verlässt Ihr Gerät nicht.

XML in JSON: Häufig gestellte Fragen

Was bedeutet #text im JSON?
Hat ein Element Attribute oder untergeordnete Elemente und zusätzlich eigenen Text, braucht dieser Text einen eigenen Schlüssel; #text ist dafür die übliche Konvention. <title lang="en">Guide</title> wird zu {"@lang": "en", "#text": "Guide"}. Ein Element, das nur Text enthält, wird dagegen zu einem einfachen Wert: <title>Guide</title> ergibt schlicht "title": "Guide".
Werden Zahlen umgewandelt oder bleiben sie Strings?
Ist „Zahlen und true/false erkennen“ aktiviert, erhalten eindeutige Zahlen und Boolesche Werte JSON-Typen. Werte mit führenden Nullen, etwa 007 oder eine Postleitzahl, sowie Zahlen mit mehr als 15 Stellen bleiben Strings, weil eine Umwandlung sie verändern würde. Schalten Sie die Erkennung aus, um jeden Wert unverändert als Text zu behalten.
Wie werden Namespaces wie soap: oder dc: behandelt?
Präfixe bleiben standardmäßig Teil des Schlüssels: dc:title wird zum Schlüssel "dc:title", und xmlns-Deklarationen erscheinen als @xmlns-Attribute. Mit „Namespace-Präfixe entfernen“ erhalten Sie title und lassen die Deklarationen weg. Zwei verschiedene Namespaces mit demselben lokalen Namen würden sich dann einen Schlüssel teilen; behalten Sie die Präfixe, wenn das wichtig ist.
Kann ich das JSON anschließend wieder in XML umwandeln?
Ja. Stellen Sie auf der Seite „JSON in XML“ das Ziel auf XML: Schlüssel mit führendem @ werden zu Attributen, #text wird zum Text des Elements, und Arrays werden zu wiederholten Elementen. Die Reihenfolge innerhalb eines übergeordneten Elements kann sich ändern, wenn verschiedene Elementnamen abwechselnd vorkamen, und Kommentare fehlen, aber die Daten selbst bleiben erhalten.
Warum erhalte ich eine Fehlermeldung statt JSON?
Das XML ist nicht wohlgeformt; die Meldung nennt Zeile und Spalte der ersten Fehlerstelle. Häufige Ursachen sind ein & statt &amp;, in falscher Reihenfolge geschlossene Tags, ein Attributwert ohne Anführungszeichen oder HTML-Entitäten wie &nbsp;, die XML nicht definiert. Korrigieren Sie die Stelle und fügen Sie den Text erneut ein.

Weitere Aufgaben mit diesem Tool