XML vs. JSON: Unterschiede, Vor- und Nachteile
Beide Formate strukturieren Daten, doch sie verfolgen unterschiedliche Ziele. Dieser Vergleich zeigt Aufbau, Syntax und Stärken im direkten Gegenüber und gibt eine klare Entscheidungshilfe, wann XML und wann JSON die richtige Wahl ist.
Wer Daten zwischen Programmen austauscht, stößt früher oder später auf die Frage: XML oder JSON? Beide Formate sind textbasiert, plattformunabhängig und seit Jahren etabliert. Doch XML stammt aus der Welt der Dokumente und Auszeichnungssprachen, während JSON für den schlanken Datenaustausch im Web entworfen wurde. Dieser Unterschied in der Herkunft erklärt fast alle praktischen Stärken und Schwächen, die im Alltag auffallen. Im Folgenden klären wir zuerst die Grundlagen, stellen dann die Formate in einer Tabelle gegenüber und schließen mit einer Entscheidungshilfe für typische Projekte.
Was ist XML?
XML steht für Extensible Markup Language und wurde 1998 vom World Wide Web Consortium (W3C) standardisiert. Es ist eine Auszeichnungssprache: Daten werden in selbst definierte Tags eingebettet, ähnlich wie bei HTML, nur dass die Tag-Namen frei wählbar sind. Jedes Element hat ein öffnendes und ein schließendes Tag, kann Attribute tragen und beliebig tief verschachtelt werden. XML kennt außerdem Kommentare, Verarbeitungs- anweisungen, Namespaces zur Vermeidung von Namenskonflikten und mit XML Schema (XSD) eine formale Sprache, um die erlaubte Struktur und Datentypen verbindlich festzulegen.
Ein kleines Beispiel: Ein Buch mit Titel, Erscheinungsjahr als Attribut und einem Autor.
<buch jahr="2024">
<titel>Datenformate verstehen</titel>
<autor>Mateusz Viola</autor>
</buch> Auffällig ist die Geschwätzigkeit: Jeder Tag-Name taucht zweimal auf, einmal beim Öffnen und einmal beim Schließen. Das macht XML gut lesbar, aber auch umfangreich. Im Gegenzug erlaubt das Format gemischten Inhalt, also Text und Markup nebeneinander, was bei Dokumenten wie Verträgen oder Office-Dateien wichtig ist.
Was ist JSON?
JSON steht für JavaScript Object Notation. Es entstand aus der Syntax für Objekte in JavaScript und wurde 2013 als ECMA-404 standardisiert, später präzisiert durch RFC 8259. JSON kennt nur eine kleine Zahl von Bausteinen: Objekte aus Schlüssel-Wert-Paaren, Arrays (geordnete Listen) sowie die Werttypen String, Zahl, Boolean und null. Genau diese Sparsamkeit ist sein größter Vorteil, denn der Standard passt auf wenige Seiten und ist in jeder Programmiersprache mit einer Bibliothek schnell zu parsen.
Dasselbe Buch sieht in JSON so aus:
{
"buch": {
"@jahr": "2024",
"titel": "Datenformate verstehen",
"autor": "Mateusz Viola"
}
}
Das XML-Attribut jahr wird hier nach der verbreiteten Konvention mit einem
@-Präfix abgebildet, weil JSON kein eigenes Attribut-Konzept hat. Die Datei ist kompakter und
lässt sich in JavaScript ohne Umwege als Objekt nutzen. Wie genau Attribute, wiederholte Elemente und
Namespaces übersetzt werden, behandelt unser
Ratgeber zum Mapping nach JSON.
XML vs. JSON: Der direkte Vergleich
Die folgende Tabelle stellt die wichtigsten Eigenschaften gegenüber. Sie ersetzt keine tiefe Einzelfallprüfung, gibt aber einen schnellen Überblick über die typischen Unterschiede.
| Eigenschaft | XML | JSON |
|---|---|---|
| Typ | Auszeichnungssprache (Markup) | Datenformat (Objekt-Notation) |
| Standardisiert seit | 1998 (W3C) | 2013 (ECMA-404, RFC 8259) |
| Datentypen | Alles Text, Typen nur via XSD | String, Zahl, Boolean, null |
| Attribute | Ja, eigenes Konzept | Nein, nur per Konvention |
| Kommentare | Ja | Nein |
| Namespaces | Ja | Nein |
| Schema-Validierung | XSD, DTD, RELAX NG | JSON Schema (optional) |
| Lesbarkeit für Menschen | Gut, aber geschwätzig | Sehr gut, kompakt |
| Dateigröße | Größer (doppelte Tags) | Kleiner |
| Parsing-Aufwand | Höher | Geringer, in JS nativ |
| Typische Einsätze | SOAP, HL7, RSS, Office, Konfig | REST-APIs, Web-Frontend, Config |
Aufbau im Bild
Das folgende Diagramm zeigt dieselben Daten in beiden Formaten nebeneinander. Links die baumartige Tag-Struktur von XML, rechts die kompakte Schlüssel-Wert-Notation von JSON.
Tipp: Format nicht ideologisch wählen
In der Praxis gibt der vorhandene Endpunkt oft das Format vor. Liefert eine Schnittstelle SOAP, bekommen Sie XML, eine moderne REST-API liefert meist JSON. Statt zu diskutieren, welches Format besser ist, lohnt sich oft die schnelle Konvertierung. Unser XML zu JSON Converter wandelt direkt im Browser um, ohne dass Daten hochgeladen werden.
Vor- und Nachteile im Überblick
Die folgende Gegenüberstellung fasst die Stärken zusammen, die in den meisten Projekten den Ausschlag geben.
JSON spielt seine Stärken aus bei
- REST-APIs und der Kommunikation zwischen Frontend und Backend
- kleiner Dateigröße und schnellem Parsing
- direkter Nutzung in JavaScript ohne Mapping
- einfachen, klar strukturierten Datensätzen
XML spielt seine Stärken aus bei
- Dokumenten mit gemischtem Inhalt aus Text und Markup
- strenger Validierung über XML Schema (XSD)
- etablierten Standards wie SOAP, HL7, RSS und XBRL
- Metadaten über Attribute, Namespaces und Kommentare
Datentypen: die häufigste Stolperfalle
Ein Unterschied sorgt regelmäßig für Verwirrung: JSON unterscheidet Strings von Zahlen, Booleans und null,
XML kennt diese Unterscheidung nicht. In XML ist <preis>42</preis> reiner Text. Wandelt
man das ohne Typinferenz nach JSON um, entsteht "preis": "42" mit Anführungszeichen, also ein
String. Das ist bewusst konservativ, denn so gehen führende Nullen, etwa in Postleitzahlen oder
Artikelnummern, nicht verloren. Wer Zahlen wirklich als Zahlen braucht, aktiviert in vielen Tools eine
optionale Typinferenz oder typisiert die Werte nach der Konvertierung gezielt nach.
Achtung bei XML aus fremden Quellen
XML-Parser können externe Entitäten auflösen. Aktiviert ein Parser diese Funktion bei nicht vertrauenswürdigen Daten, droht die XXE-Schwachstelle (XML External Entity), über die Angreifer Dateien auslesen oder Anfragen auslösen können. Das BSI und das OWASP-Projekt empfehlen, die Auflösung externer Entitäten beim Parsen unbekannter XML-Daten zu deaktivieren. JSON kennt dieses Risiko nicht, da es keine Entitäten oder DTDs unterstützt.
Entscheidungshilfe: Wann XML, wann JSON?
Wenn Sie ein neues Projekt starten und frei wählen können, helfen diese Faustregeln bei der Entscheidung:
- Web-API oder mobile App? JSON. Es ist der De-facto-Standard für REST, kompakt und in jeder Sprache leicht zu verarbeiten.
- Konfigurationsdatei für Entwickler? JSON, oder ein JSON-naher Dialekt mit Kommentaren wie JSON5 oder YAML, wenn Kommentare gebraucht werden.
- Anbindung an SOAP, HL7, XBRL oder Behördenformate? XML, weil der Standard es vorgibt. Eine Konvertierung nach JSON ist nur für die interne Weiterverarbeitung sinnvoll.
- Dokumente mit Formatierung und gemischtem Inhalt? XML, weil es Text und Markup elegant kombiniert. Office-Dateien (DOCX, XLSX) nutzen intern genau deshalb XML.
- Strenge, verbindliche Validierung der Struktur? XML mit XSD ist hier ausgereifter, JSON Schema holt aber auf und reicht für viele Fälle ebenfalls aus.
In gewachsenen Systemlandschaften müssen Sie selten von Grund auf entscheiden. Oft liefert ein Altsystem XML, das eine moderne Anwendung lieber als JSON verarbeiten würde. Genau für diesen Brückenfall ist ein Converter gedacht. Wie der Schritt für Schritt funktioniert, zeigt unsere Anleitung zum Umwandeln von XML in JSON.
Fazit
XML und JSON sind keine Konkurrenten, die einander ablösen, sondern Werkzeuge mit unterschiedlichem Profil. JSON ist die schlanke Standardwahl für moderne Web-Schnittstellen, weil es kompakt, schnell und nah an JavaScript ist. XML bleibt unverzichtbar, wo Dokumente, Namespaces, Kommentare und formale Validierung zählen, und ist in vielen Industriestandards fest verankert. Wer beide Formate versteht, trifft die richtige Wahl je nach Aufgabe und kann bei Bedarf zwischen ihnen konvertieren, ohne Daten zu verlieren.
Häufige Fragen zu XML und JSON
Was ist der Hauptunterschied zwischen XML und JSON?
XML ist eine Auszeichnungssprache, die Daten mit öffnenden und schließenden Tags umschließt und zusätzlich Attribute, Kommentare und Namespaces kennt. JSON ist ein schlankes Datenformat aus Objekten (Schlüssel-Wert-Paare) und Arrays. JSON ist kompakter und lässt sich in JavaScript direkt als Objekt verwenden, während XML mehr strukturelle Möglichkeiten und mit XML Schema eine starke Validierung bietet.
Ist JSON immer besser als XML?
Nein. JSON ist für Web-APIs, Konfigurationsdateien und den Datenaustausch zwischen Frontend und Backend meist die bessere Wahl, weil es kompakter und schneller zu parsen ist. XML bleibt überlegen, wenn gemischter Inhalt aus Text und Markup (etwa Dokumente), Namespaces, Kommentare oder eine formale Schema-Validierung mit XSD gebraucht werden, zum Beispiel bei SOAP, HL7 oder Office-Dokumenten.
Hat JSON Datentypen und XML nicht?
JSON unterscheidet von Haus aus zwischen String, Zahl, Boolean (true/false) und null. In XML ist jeder Wert zunächst reiner Text, Typinformationen entstehen erst durch ein zusätzliches XML Schema (XSD). Deshalb wird beim Umwandeln von XML nach JSON die Zahl 42 oft als String "42" übernommen, sofern keine Typinferenz aktiviert wird.
Warum verwenden viele alte Systeme noch XML?
XML wurde 1998 vom W3C standardisiert, JSON erst 2013 als ECMA-404. Viele etablierte Standards in Industrie, Verwaltung und Gesundheitswesen, etwa SOAP-Webservices, HL7, RSS oder das XBRL-Reporting, basieren auf XML und sind tief verankert. Ein Wechsel wäre teuer und riskant, daher koexistieren beide Formate bis heute.
Kann JSON Kommentare enthalten wie XML?
Nein. Der JSON-Standard (RFC 8259) sieht keine Kommentare vor. XML erlaubt Kommentare mit der Syntax aus spitzen Klammern und Bindestrichen. Wer Kommentare in einer Konfigurationsdatei braucht, weicht häufig auf Formate wie JSON5 oder YAML aus, die JSON erweitern.
Ist JSON sicherer als XML?
JSON hat eine kleinere Angriffsfläche, weil es keine externen Entitäten und keine DTDs kennt. Bei XML ist die XXE-Schwachstelle (XML External Entity) ein bekanntes Risiko, wenn ein Parser externe Entitäten auflöst. Beim Parsen von XML aus nicht vertrauenswürdigen Quellen sollte die Auflösung externer Entitäten daher deaktiviert sein.
Quellen
- W3C, Extensible Markup Language (XML) 1.0
- Ecma International, ECMA-404: The JSON Data Interchange Syntax
- IETF, RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format
- MDN Web Docs, Working with JSON
- OWASP, XML External Entity (XXE) Prevention Cheat Sheet
Verwandte Artikel
XML in JSON umwandeln: Schritt-für-Schritt-Anleitung
Der Grundlagen-Guide mit Mini-Beispiel und 3-Schritt-Anleitung.
Weiterlesen VergleichXML zu JSON Converter im Vergleich
Online-Tools gegen xml2js, xmltodict und jq, ehrlich eingeordnet.
Weiterlesen TechnikXML-Attribute, Namespaces und Arrays nach JSON mappen
Mapping-Konventionen, Arrays aus wiederholten Elementen, Namespaces.
WeiterlesenXML jetzt in JSON umwandeln
Fügen Sie Ihr XML ein und erhalten Sie sofort gültiges JSON. 100% im Browser, kein Upload, kostenlos.
Zum XML zu JSON Converter