JSON (JavaScript Object Notation) und XML (eXtensible Markup Language) sind beides Datenaustauschformate. JSON ist kompakt und leichtgewichtig. XML ist ausführlich, unterstützt aber Namensräume und Metadaten.
Eine kurze Geschichte
XML wurde in den späten 1990er Jahren als Teilmenge von SGML entwickelt. JSON entstand in den frühen 2000er Jahren aus der JavaScript-Syntax und wurde dominierend für REST-APIs.
Vergleichstabelle
| Merkmal | JSON | XML |
|---|---|---|
| Syntax | Kompakt, leichtgewichtig | Ausführlich, markup-basiert |
| Datentypen | String, Zahl, Boolean, Array, Objekt, Null | Nur Text |
| Metadaten | Keine native Unterstützung | Attribute, Namensräume |
| Kommentare | Nicht unterstützt | Unterstützt |
| Namensräume | Nicht unterstützt | Vollständig unterstützt |
| Parsing-Geschwindigkeit | Schneller | Langsamer |
| Dateigröße | Kleiner (2-3x) | Größer |
| Native JS-Unterstützung | Ja | Erfordert Parser |
Gleiche Daten, unterschiedliche Formate
JSON:
{
"books": [
{
"id": 1,
"title": "Web Development",
"author": "John Doe",
"price": 29.99,
"inStock": true,
"tags": ["programming", "web"]
}
],
"totalCount": 1
}
XML:
<bookstore>
<books>
<book id="1">
<title>Web Development</title>
<author>John Doe</author>
<price currency="USD">29.99</price>
<inStock>true</inStock>
<tags>
<tag>programming</tag>
<tag>web</tag>
</tags>
</book>
</books>
<totalCount>1</totalCount>
</bookstore>
Wann JSON wählen
- Web-APIs und REST-Dienste
- Konfigurationsdateien
- Mobile Anwendungen
- NoSQL-Datenbanken
- Echtzeit-Datenübertragung
- Microservices-Kommunikation
Wann XML wählen
- Dokumentspeicherung mit Metadaten
- SOAP-Webdienste
- Komplexe Validierung (XSD)
- Metadaten-intensive Anwendungen
- Integration von Legacy-Systemen
- Unternehmens-Publishing-Workflows
Leistungsvergleich
| Operation | JSON | XML | Verhältnis |
|---|---|---|---|
| Serialisieren | 15ms | 45ms | 3x schneller |
| Deserialisieren | 20ms | 60ms | 3x schneller |
| Übertragungsgröße | 1,2 MB | 3,5 MB | 2,9x kleiner |
| Parsing-Speicher | 8 MB | 25 MB | 3,1x weniger |
Fazit
JSON wird für moderne Web-APIs, mobile Apps und Konfigurationsdateien bevorzugt. XML bleibt für dokumentorientierte Anwendungen und Unternehmenssysteme relevant. Beginnen Sie standardmäßig mit JSON.