JSON (JavaScript Object Notation) ist das gängigste Format zum Datenaustausch im Web. APIs geben es zurück, Konfigurationsdateien nutzen es, Logs sind voll davon. Trotz des „JavaScript” im Namen ist es sprachunabhängig — Python, Go, Java und praktisch alles andere können es lesen und schreiben. Hier das Wichtigste in fünf Minuten.
Du kannst es selbst nachvollziehen. Füge
{"id":42,"tags":["draft","zh"],"meta":{"ok":true,"score":9.5},"note":null}in unseren JSON-Formatierer ein und drücke Verschönern. Zurück kommen zwei Leerzeichen Einrückung, die Schlüssel in ursprünglicher Reihenfolge,9.5weiterhin eine Zahl undnullweiterhinnull— nichts wird umsortiert, nichts umgetypt. Genau diese Ein- und Ausgabe prüft ein Skript bei jedem Build; änderte das Werkzeug sein Verhalten, wäre diese Seite falsch und wir würden es merken.
Die Bausteine
Ein JSON-Dokument besteht aus nur wenigen Typen:
- Objekt — eine Menge von Schlüssel/Wert-Paaren in geschweiften Klammern:
{ "name": "Ada", "age": 36 } - Array — eine geordnete Liste in eckigen Klammern:
[1, 2, 3] - String — Text in doppelten Anführungszeichen:
"hello" - Zahl —
42,3.14,-7(ohne Anführungszeichen) - Boolean —
trueoderfalse - null — ein expliziter leerer Wert
Objekte und Arrays lassen sich beliebig tief verschachteln — so stellt JSON komplexe Daten dar.
Ein kurzes Beispiel
{
"user": "ada",
"active": true,
"roles": ["admin", "editor"],
"profile": { "age": 36, "city": "London" }
}
Das ist ein einzelnes Objekt mit einem String, einem Boolean, einem String-Array und einem verschachtelten Objekt.
Die Regeln, über die man stolpert
Die meisten „ungültiges JSON”-Fehler stammen aus wenigen Ursachen:
- Nachgestellte Kommas.
[1, 2, 3,]ist in JavaScript gültig, in JSON nicht. Entferne das Komma nach dem letzten Element. - Einfache Anführungszeichen. JSON verlangt doppelte Anführungszeichen für Schlüssel und String-Werte.
{'name': 'Ada'}ist ungültig; es muss{"name": "Ada"}heißen. - Schlüssel ohne Anführungszeichen.
{name: "Ada"}ist ein JavaScript-Objektliteral, kein JSON. Schlüssel müssen Strings in Anführungszeichen sein. - Kommentare. JSON hat keine Kommentar-Syntax.
// so etwasverursacht einen Parse-Fehler. - Falsche Werttypen. Zahlen und Booleans dürfen nicht in Anführungszeichen stehen, außer du willst sie als String.
Die Regeln merkt man sich leichter als die Fehler, die sie erzeugen. Wir gaben unserem JSON-Formatter vier Arten von Fast-JSON und hielten fest, was genau zurückkam. Ein Komma am Ende ergibt
✗ JSON syntax error: Expected double-quoted property name in JSON at position 7 (line 1 column 8) [L1:8]
einfache Anführungszeichen ergeben
✗ JSON syntax error: Expected property name or '}' in JSON at position 1 (line 1 column 2) [L1:2]
ein unquotierter Schlüssel ergibt
✗ JSON syntax error: Expected property name or '}' in JSON at position 1 (line 1 column 2) [L1:2]
und ein JavaScript-undefined ergibt
✗ JSON syntax error: Unexpected token 'u', "{"a":undefined}" is not valid JSON
Beachte, dass einfache Anführungszeichen und ein unquotierter Schlüssel dieselbe Meldung an derselben Position erzeugen: Der Parser sucht keine Anführungszeichenart, er sucht einen doppelt quotierten Eigenschaftsnamen und meldet die erste Stelle, an der einer fehlt.
Wie man kaputtes JSON schnell repariert
Wenn dein Code einen Parse-Fehler wirft, ist der schnellste Weg, das Dokument durch einen Validator zu schicken. Füge es in den JSON-Formatter ein: Ist die Syntax falsch, zeigt er die ungefähre Stelle und den Grund. Ist es gültig, klicke auf „Verschönern”, um die Struktur klar zu sehen, oder auf „Minimieren”, um es vor dem Versand zu verkleinern.
Das ist auch der schnellste Weg, kaputtes JSON zu reparieren: Lies die Position, nicht die Prosa. ✗ JSON syntax error: Expected double-quoted property name in JSON at position 7 (line 1 column 8) [L1:8] zeigt auf Spalte 8 in Zeile 1 — das Zeichen nach dem letzten Komma — die Korrektur gehört also an das Komma, eine Position früher als die Meldung. Parser melden, wo sie aufgegeben haben, nicht wo der Fehler gemacht wurde, und das ist fast nie dasselbe Zeichen.
Wann man JSON (nicht) verwenden sollte
JSON eignet sich hervorragend für Konfiguration und API-Payloads. Weniger ideal ist es für sehr große Datensätze (Streaming- oder Binärformate sind effizienter) oder für Dokumente mit Kommentaren (YAML oder TOML sind hier freundlicher). Für die meisten Web-Aufgaben ist JSON jedoch die Lingua franca — und jetzt kannst du sie fließend lesen.
Bereit, etwas JSON aufzuräumen? Probiere den kostenlosen JSON-Formatter — er läuft komplett im Browser, deine Daten verlassen also nie dein Gerät.