JSON und XML: Datenformate im Vergleich
Kurzantwort
JSON und XML sind Textformate, um strukturierte Daten zwischen Systemen auszutauschen. JSON ist kompakt und schnell zu verarbeiten und deshalb bei Web-APIs Standard. XML ist ausführlicher, dafür streng prüfbar über Schemata und in vielen Unternehmensanwendungen etabliert. Beide sind für Menschen lesbar und unabhängig von Programmiersprache und Betriebssystem.
Teil des Lernpfads Programmieren und Softwareentwicklung · Schritt 16 von 18
Zwei Systeme sollen Daten austauschen – aber wie beschreibt man „ein Azubi heißt Aylin, ist im zweiten Lehrjahr und lernt IT-Systemkauffrau" so, dass beide Seiten es verstehen? Dafür gibt es Datenformate. Die zwei wichtigsten sind JSON und XML.
Warum überhaupt ein Datenformat?
Zwei Programme können nicht einfach ihren Arbeitsspeicher austauschen – sie sind womöglich in verschiedenen Sprachen geschrieben und laufen auf verschiedenen Systemen. Also einigt man sich auf ein Textformat mit festen Regeln, das beide lesen und schreiben können.
JSON
JSON (JavaScript Object Notation) beschreibt Daten als Schlüssel-Wert-Paare in geschweiften Klammern, Listen in eckigen:
{
"name": "Aylin",
"lehrjahr": 2,
"beruf": "IT-Systemkauffrau",
"kurse": ["Netzwerke", "Kalkulation"]
}Das ist knapp, sofort verständlich und schnell zu verarbeiten – deshalb ist JSON bei Web-APIs heute der Standard.
XML
XML (Extensible Markup Language) beschreibt dieselben Daten mit öffnenden und schließenden Tags, ähnlich wie HTML:
<azubi>
<name>Aylin</name>
<lehrjahr>2</lehrjahr>
<beruf>IT-Systemkauffrau</beruf>
<kurse>
<kurs>Netzwerke</kurs>
<kurs>Kalkulation</kurs>
</kurse>
</azubi>Deutlich ausführlicher – dafür lässt sich mit einem Schema (XSD) exakt festlegen, welche Elemente erlaubt sind, und jedes Dokument automatisch dagegen prüfen.
Der direkte Vergleich
| Merkmal | JSON | XML |
|---|---|---|
| Schreibweise | Schlüssel-Wert-Paare | Tags |
| Umfang | kompakt | ausführlicher |
| Lesbarkeit | sehr gut | gut |
| Prüfung gegen Schema | möglich, unüblich | Standard (XSD) |
| Kommentare | nicht vorgesehen | möglich |
| Typisch für | Web-APIs, Konfiguration | Unternehmens- und Behördensysteme |
Wann nimmt man was?
Selbstkontrolle
Selbstkontrolle
Welcher Vorteil spricht besonders für XML gegenüber JSON?
Häufige Fragen
Ist JSON nur für JavaScript?
Nein. Der Name kommt aus JavaScript, weil die Schreibweise dort entlehnt ist, aber JSON ist ein sprachunabhängiges Textformat. Praktisch jede Programmiersprache kann JSON lesen und schreiben, meist mit Bordmitteln oder einer Standardbibliothek.
Was ist ein XML-Schema?
Ein Schema, meist als XSD-Datei, beschreibt den erlaubten Aufbau eines XML-Dokuments: welche Elemente vorkommen dürfen, in welcher Reihenfolge, wie oft und mit welchem Datentyp. Damit lässt sich automatisch prüfen, ob ein Dokument gültig ist, bevor es weiterverarbeitet wird.
Wo liegt der Unterschied zwischen XML und HTML?
HTML hat einen festen Satz vorgegebener Tags und dient der Darstellung von Inhalten im Browser. XML gibt keine Tags vor, sondern erlaubt eigene: Es dient der Beschreibung und dem Austausch von Daten, nicht ihrer Darstellung. Beide nutzen aber dieselbe Tag-Schreibweise.
Wann eignet sich CSV besser?
CSV eignet sich für einfache, tabellarische Daten ohne Verschachtelung, etwa Exporte aus einer Tabellenkalkulation. Es ist extrem kompakt und von fast jedem Programm lesbar. Sobald Daten aber hierarchisch werden, etwa ein Azubi mit mehreren Kursen, stößt CSV an seine Grenzen und JSON oder XML sind die bessere Wahl.
Weiterlesen: Zeichensatzkodierung: ASCII, Unicode und UTF-8 · Datenanalyse: von Rohdaten zur Erkenntnis · Client-Server-Modell einfach erklärt · Datenstrukturen: Array, Liste, Stack und Queue
Das Wichtigste in Kürze
- JSON und XML sind Textformate zum Austausch strukturierter Daten – plattformunabhängig.
- JSON: Schlüssel-Wert-Paare, kompakt, Standard bei Web-APIs.
- XML: Tags, ausführlicher, dafür streng prüfbar über ein Schema (XSD).
- Für einfache Tabellen ohne Verschachtelung genügt oft CSV.