Das JSON (JavaScript Object Notation) ist ein leichtgewichtiges, textbasiertes Datenformat für den strukturierten Austausch von Informationen. Es entstammt der JavaScript-Syntax, ist aber sprachunabhängig: praktisch jede Programmiersprache kennt einen JSON-Parser.
JSON hat sich als Standard-Format für Web-APIs, Konfigurationsdateien und einfache Datenablagen etabliert. Sein Erfolg liegt in der Kombination aus geringer Komplexität, guter Lesbarkeit und ausreichender Ausdrucksmächtigkeit.
Datentypen
JSON kennt eine bewusst kleine Menge an Typen:
- Objekt — geordnete Sammlung von Schlüssel-Wert-Paaren in geschweiften Klammern.
- Array — geordnete Liste in eckigen Klammern.
- String — Text in doppelten Anführungszeichen.
- Zahl — ganzzahlig oder Gleitkomma, ohne explizite Trennung.
- Boolean —
trueoderfalse. - Null —
null.
Beispiel
{
"id": 42,
"titel": "Hostname",
"tags": ["netzwerk", "dns"],
"veroeffentlicht": true,
"autor": null
}Stärken und Grenzen
JSON ist beliebt, weil es schlicht ist — und seine Grenzen ergeben sich aus genau dieser Schlichtheit:
- Keine Kommentare — der offizielle Standard erlaubt sie nicht. Varianten wie JSON5 oder JSONC erweitern das, sind aber inkompatibel.
- Keine festen Datums- oder Binärtypen — Datumswerte werden meist als ISO-8601-String, Binärdaten als Base64 codiert.
- Keine Schemavalidierung im Format selbst — diese übernimmt JSON Schema als separate Spezifikation.
Verwandte Formate
In bestimmten Szenarien werden alternative Formate eingesetzt:
- YAML — lesbarer, mit Kommentaren, häufig für Konfigurationen.
- TOML — ebenfalls für Konfigurationen, mit klarer Typisierung.
- MessagePack / CBOR — binäre Varianten mit ähnlicher Datenmodellstruktur, kompakter und schneller.
- Protocol Buffers — schemabasiertes Binärformat, in gRPC-APIs üblich.
JSON bleibt überall dort die erste Wahl, wo Lesbarkeit und einfache Tooling-Unterstützung wichtiger sind als minimale Größe oder maximale Performance.