Kurz gesagt: JSON hat eine kleine, strenge Grammatik — die Fehler, die einen Parser brechen (nachgestellte Kommas, nicht in Anführungszeichen gesetzte Schlüssel, einfache Anführungszeichen), sind in minifizierten Daten unsichtbar, aber nach der Formatierung offensichtlich. Die tatsächlichen Syntaxregeln zu kennen macht aus "die API hat einen Fehler zurückgegeben" eine Zwei-Sekunden-Korrektur. Kombiniere diesen Guide mit Encoding Converter, Character Counter, Text Difference und AI Hidden Characters.
JSON zu formatieren bedeutet, Leerzeichen und Einrückung hinzuzufügen, um die Struktur lesbar zu machen; es zu validieren bedeutet zu prüfen, ob diese Struktur tatsächlich der in RFC 8259 definierten Grammatik folgt. Minifiziertes JSON — die kompakte, leerzeichenfreie Form, die APIs tatsächlich übertragen — ist korrekt, aber unlesbar; ein Formatierer kehrt das um, ohne die Daten zu ändern.
Die Syntaxregeln, die wirklich zählen
JSON-Schlüssel müssen in doppelte Anführungszeichen gesetzte Strings sein — {name: "wert"} ist ungültig, nur {"name": "wert"} wird geparst. Einfache Anführungszeichen sind für Strings oder Schlüssel nie gültig, anders als bei JavaScript-Objektliteralen, die die Syntax von JSON bewusst einschränkt. Ein nachgestelltes Komma nach dem letzten Element in einem Array oder Objekt — ["a", "b",] — ist ungültiges JSON, auch wenn es in manchen anderen Sprachen harmlos ist (oder sogar konventionell erforderlich), und ist einer der häufigsten Gründe, warum von Hand bearbeitetes JSON nicht geparst wird.
Warum "sieht richtig aus" nicht dasselbe ist wie gültig
Ein JSON-Dokument kann visuell nicht von einem gültigen zu unterscheiden sein und trotzdem nicht geparst werden — eine fehlende schließende geschweifte Klammer am Ende einer großen verschachtelten Struktur, ein aus einer Textverarbeitung eingefügtes typografisches Anführungszeichen (“) statt eines geraden ", oder ein versprengter Kommentar (JSON hat überhaupt keine Kommentarsyntax, anders als JSON5 oder JSONC) brechen alle einen strikten Parser, während sie auf den ersten Blick in Ordnung aussehen. Genau deshalb hilft Formatieren vor dem Draufschauen: Korrekte Einrückung macht eine ungeschlossene Klammer visuell offensichtlich, indem sie das erwartete Verschachtelungsmuster bricht.
Formatierung vs. Schema-Validierung
Ein Formatierer prüft, ob das JSON syntaktisch gültig ist — Klammern ausgeglichen, Strings korrekt in Anführungszeichen, keine nachgestellten Kommas. Er prüft nicht, ob die Daten Sinn ergeben: ob ein Feld, das eine Zahl sein sollte, tatsächlich ein String ist, oder ein erforderliches Feld fehlt. Das ist ein separates Anliegen, das durch JSON-Schema-Validierung behandelt wird, die Struktur und Typen gegen eine Schema-Definition prüft, statt nur zu prüfen, dass das JSON selbst wohlgeformt ist.
Ein Workflow für unordentliches oder kaputtes JSON
- Füge das rohe JSON — minifiziert, kaputt, oder anderweitig — zuerst in einen Formatierer ein.
- Wird es geparst, überprüfe die eingerückte Struktur nach dem Feld oder Wert, den du tatsächlich suchst.
- Schlägt das Parsen fehl, prüfe zuerst die Fehlerposition: die meisten Parser melden eine Zeile/Spalte, die normalerweise direkt auf ein fehlendes Komma, eine Klammer oder ein Anführungszeichen zeigt.
- Achte besonders auf nachgestellte Kommas und typografische Anführungszeichen, wenn die Quelle von Hand getippt oder aus einem Nicht-Code-Editor eingefügt wurde.
Häufige Fehler, die du vermeiden solltest
- Annehmen, gültig aussehende Einrückung bedeute gültiges JSON — Formatierung und Parsen sind separate Schritte.
- Ein nachgestelltes Komma aus Gewohnheit von JavaScript oder Python hinzufügen, wo es oft toleriert wird.
- JSON aus einer Textverarbeitung einfügen und geschwungene typografische Anführungszeichen statt gerader bekommen.
- "Formatiert ohne Fehler" mit "entspricht dem von der API erwarteten Schema" verwechseln — das sind unterschiedliche Prüfungen.
Die meisten JSON-Fehler sind ein bestimmtes Zeichen an einer bestimmten Stelle — der eigentliche Wert eines Formatierers ist es, diese Stelle sichtbar zu machen, statt dich eine einzige ununterbrochene Zeile danach absuchen zu lassen.