JSON ist das dominante Datenaustauschformat im modernen Web. Oberflächlich einfach — eine Handvoll primitiver Typen, Objekte mit String-Schlüsseln, Arrays — fällt seine Strenge Entwicklern trotzdem täglich auf die Füße. Dieser Artikel behandelt die Struktur, die Syntaxfallen, die an der Validierung scheitern, wann man formatiert und wann man minifiziert, sowie die lockereren Varianten, denen man gelegentlich begegnet.

JSON-Struktur

Jedes JSON-Dokument ist entweder ein Objekt (in { } mit kommagetrennten Schlüssel-Wert-Paaren) oder ein Array (in [ ] mit kommagetrennten Werten). Werte sind Strings (in doppelten Anführungszeichen), Zahlen, Booleans (true/false), null, Objekte oder Arrays. Schlüssel müssen immer Strings in doppelten Anführungszeichen sein — keine einfachen Anführungszeichen, keine bloßen Bezeichner.

Syntaxfehler, die Stunden kosten

Pretty-Print vs. Minifizieren

Formatiertes JSON ist für Menschen: Einrückung und Zeilenumbrüche helfen, Struktur zu erkennen und Werte zu vergleichen. Einsetzen in Konfigurationsdateien, Dokumentation und Debug-Logs. Minifiziertes JSON ist für Maschinen: alles in einer Zeile, kein Whitespace, minimale Payload. Einsetzen bei Netzwerk-Transport oder Massen-Speicherung. Die meisten Werkzeuge wechseln mit einem Aufruf (JSON.stringify(obj, null, 2) vs JSON.stringify(obj)).

JSON5 und JSONC

Wer Kommentare und abschließende Kommas braucht, kennt zwei verbreitete Supersets. JSON5 erlaubt einfache Anführungszeichen, unquotierte Schlüssel, Kommentare, abschließende Kommas, Hex-Zahlen und mehrzeilige Strings. JSONC — von VS Code genutzt — ist strenger: nur Kommentare werden zu reinem JSON ergänzt. Keines wird universell geparst; vor dem Versand über die Leitung in strenges JSON konvertieren.

Größe und Performance

Das Minifizieren typisch formatierten JSONs spart 15–30 % Größe. gzip-Kompression nivelliert diesen Unterschied stark — für HTTP-Transport schlägt gzip meist das Minifizieren. Für localStorage, IndexedDB und bandbreitenknappe Mobil-Payloads zählt Minify weiter — jedes Byte.

Validieren als Gewohnheit

Wenn ein System Ihr JSON ablehnt, vor dem Bearbeiten in einen Validator einfügen. Neun von zehn Parse-Fehlern sind ein übersehenes abschließendes Komma, ein versehentliches einfaches Anführungszeichen oder ein verirrtes Steuerzeichen. Der Validator zeigt Zeile und Spalte punktgenau — spart die halbe Stunde Augeninspektion, die man sonst investiert hätte.