Kostenloser XML-zu-JSON-Konverter

Konvertieren Sie XML sofort in JSON. Verarbeitet Attribute, verschachtelte Elemente und Textknoten. Läuft vollständig in Ihrem Browser.

Ihre Daten verlassen Ihr Gerät niemals
XML-Datei hier ablegen oder klicken zum Durchsuchen (max. 5 MB)

Was ist XML?

XML (Extensible Markup Language) ist ein Format zum Speichern und Übertragen von Daten. Es verwendet benutzerdefinierte Tags zur Beschreibung der Datenstruktur, wodurch es für Menschen lesbar und weit verbreitet unterstützt ist. Im Gegensatz zu JSON kann XML Attribute auf Elementen enthalten.

Warum XML in JSON konvertieren?

Häufig gestellte Fragen

Wie werden XML-Attribute behandelt?

XML-Attribute werden in JSON-Eigenschaften mit dem Präfix „@“ umgewandelt. Zum Beispiel wird Anna zu {"user": {"@id": "1", "#text": "Anna"}}. Dies bewahrt die Unterscheidung zwischen Attributen und Textinhalten.

Was ist mit Namensräumen?

XML-Namensraumpräfixe werden in JSON-Schlüsselnamen beibehalten. Namensraumdeklarationen (xmlns) erscheinen in der Ausgabe als reguläre Attribute, die mit „@xmlns“ beginnen.

Kann ich JSON wieder in XML konvertieren?

Dieses Tool konvertiert nur XML in JSON. Für die Rückkonvertierung verwenden Sie unseren JSON-zu-XML-Konverter, der den Prozess umkehrt und dieselbe Konvention für Attribute und Textknoten verwendet.

Zwei Formate, drei Jahrzehnte auseinander

XML 1.0 wurde am 10. Februar 1998 zur W3C-Empfehlung. Die ursprünglichen Herausgeber waren Tim Bray (Textuality / Netscape), Jean Paoli (Microsoft) und C. M. Sperberg-McQueen (University of Illinois at Chicago); den Vorsitz der Arbeitsgruppe hatte Jon Bosak von Sun Microsystems. Die Abstammung von XML reicht zurück bis SGML (ISO 8879:1986), dem Dokumentauszeichnungsstandard, der selbst in den 1970er-Jahren aus IBMs GML hervorging. SGML war mächtig, aber einschüchternd; der Entwurfsauftrag von XML lautete „eine ‚schlanke’ Version von SGML entwerfen“, wobei optionale Funktionen auf ein Profil reduziert wurden, das sich in wenigen tausend Codezeilen umsetzen ließ, während Unicode, Namensräume und attributreiche Dokumente erhalten blieben.

JSON (JavaScript Object Notation) wurde entdeckt, nicht entworfen. Douglas Crockford und Chip Morningstar sendeten die erste JSON-Nachricht im April 2001 bei State Software und leiteten das Format aus der Objektliteral-Syntax von JavaScript ab. Crockford registrierte 2002 json.org und stellte eine einseitige Spezifikation online. Das Format wurde erstmals im Juli 2006 als RFC 4627 formalisiert, 2014 als RFC 7159 neu herausgegeben und im Dezember 2017 als RFC 8259 / STD 90 stabilisiert, im selben Jahr, in dem ECMA-International ECMA-404 veröffentlichte. Die Entwurfsabsicht von JSON (laut Crockfords Rückblick): minimal, sprachunabhängig, leicht zu erzeugen und zu parsen, keine Versionsnummer („es gibt keine Versionsnummer“) und bewusst keine Kommentare („Ich habe Kommentare entfernt, weil ich sah, dass die Leute sie nutzten, um Parsing-Direktiven unterzubringen“).

JSON übernahm in den späten 2000er-Jahren die Web-APIs, als REST SOAP ablöste und XMLHttpRequest dem JSON-über-fetch wich. Bis 2015 war JSON das Standard-Antwortformat nahezu jeder öffentlichen API; XML überlebte in der Long-Tail-Unternehmens-SOA, in Dokumentformaten (Office Open XML, OpenDocument) und in normgebundenen Nischen.

Worin sich XML und JSON unterscheiden

XMLJSON
AttributeErstklassig (<item id="5"/>)Keine Attribute, alles ist ein Schlüssel/Wert-Paar
NamensräumeNativ (xmlns:prefix="uri")Flache Namen; Präfixkollisionen sind das Problem der Anwendung
Kommentare<!-- … -->Keine laut Spezifikation
Gemischter InhaltNativ (<p>text <b>and</b> markup</p>)Umständlich, erfordert Arrays oder Stringifizierung
SchemaDTD, XSD 1.0 (2001) / 1.1 (2012), RELAX NG, SchematronJSON Schema (Community-Spezifikation, Entwurf 2020-12)
ReihenfolgeDie Elementreihenfolge ist laut Spezifikation bedeutsamDie Reihenfolge der Objektschlüssel ist nicht garantiert (die meisten Parser bewahren in der Praxis die Einfügereihenfolge); Arrays sind geordnet
ZahlenStrings, bis sie durch ein Schema typisiert werdenIEEE-754-Double; keine Unterscheidung zwischen Integer und Float auf Spezifikationsebene
AusführlichkeitHoch (jeder Wert in Tags verpacktNiedrig) nur Interpunktion

Warum XML→JSON grundsätzlich verlustbehaftet ist

Es gibt keine vom W3C abgesegnete kanonische Abbildung von XML auf JSON. Jeder Konverter muss Antworten auf Fragen erfinden, die XML auszudrücken erlaubt, für die JSON aber kein natives Vokabular besitzt. Die wiederkehrenden Entscheidungen:

Wann Sie dazu greifen

Moderne Alternativen

Weitere Fragen

Warum erzeugt dasselbe XML in verschiedenen Werkzeugen eine andere JSON-Form?

Weil es keine kanonische XML→JSON-Abbildung gibt. Jeder Konverter wählt eine Konvention (BadgerFish, Parker, JsonML, GData-Stil), und die resultierenden JSON-Formen unterscheiden sich darin, wie Attribute markiert, wie gemischter Inhalt bewahrt und wie wiederholte Kindelemente in Arrays gefasst werden. Ein Hin- und Zurückkonvertieren von XML durch verschiedene Konverter erzeugt unterschiedliches JSON; ein Hin- und Zurückkonvertieren von JSON zu XML durch verschiedene Konverter kann die Attributplatzierung und sogar die Elementreihenfolge verändern. Dokumentieren Sie für die Interoperabilität die von Ihnen verwendete Konvention und bleiben Sie dabei.

Was ist mit CDATA, Kommentaren und Verarbeitungsanweisungen?

CDATA-Abschnitte (<![CDATA[…]]>) werden zu einfachem String-Inhalt verflacht, der Wrapper ist weg, aber der Text darin bleibt wortgetreu erhalten. XML-Kommentare (<!-- … -->) und Verarbeitungsanweisungen (<?xml-stylesheet …?>) werden verworfen, da JSON für beide keine Syntax hat. Wenn Sie eine Hin-und-zurück-Treue benötigen, die Kommentare bewahrt, ist ein reiner XML-Rundlauf der richtige Ansatz.

Übersteht mein XML-Schema (XSD) die Konvertierung?

Nein. XSD beschreibt die XML-Struktur und -Typen; JSON Schema ist der analoge (separate) Standard für JSON. Manche fortgeschrittenen Werkzeuge können XSD in JSON Schema übersetzen, aber das ist eine verlustbehaftete Operation, XSD hat Funktionen (gemischter Inhalt, Substitutionsgruppen, abgeleitete Typen), die kein sauberes JSON-Schema-Äquivalent haben. Für eine relevante Dokumentvalidierung führen Sie XSD gegen das ursprüngliche XML aus, nicht gegen die JSON-Konvertierung.

Warum hat sich JSON für Web-APIs durchgesetzt?

Einige Gründe. JSON bildet sich direkt auf JavaScript-Objekte ab, sodass das Parsen auf Browser-Seite nur einen JSON.parse()-Aufruf entfernt ist. Das Format ist viel kleiner, keine schließenden Tags, keine Namensraumdeklarationen, kein Schema-Ballast. REST löste in den späten 2000er-Jahren bei den meisten öffentlichen APIs SOAP ab, und JSON war die natürliche Nutzlast für REST. Die Stärken von XML (strenge Schemata, Namensräume, gemischter Inhalt) zählen für Dokumente und alte Unternehmenssysteme, aber selten für „gib mir das Nutzerobjekt“. Das Web optimierte für den einfacheren Fall.

Werden Daten an einen Server gesendet?

Nein. Das XML wird vom nativen DOMParser des Browsers geparst und dann in JavaScript rekursiv durchlaufen, um die JSON-Ausgabe zu erzeugen. Eingefügtes XML verlässt niemals die Seite. Das Werkzeug funktioniert offline, sobald es geladen ist, was wichtig ist, wenn das Quell-XML interne API-Endpunkte, Kundendaten oder proprietäre Schemata enthält, die Sie lieber nirgendwo hochladen möchten.

Verwandte Tools