So validieren Sie JSON
- Fügen Sie das JSON ein oder öffnen Sie eine Datei. Die Validierung läuft automatisch während der Eingabe.
- Eine grüne Meldung „Gültiges JSON“ mit Statistik bedeutet, dass das Dokument korrekt ist. Andernfalls lesen Sie die Fehlermeldung: Sie nennt Zeile, Spalte und das, was an dieser Stelle erwartet wurde.
- Korrigieren Sie die markierte Zeile oder klicken Sie auf Reparieren und anschließend auf Formatieren, damit das Ergebnis gut lesbar ist.
Häufige JSON-Fehler und wie Sie sie beheben
| Fehler | Beispiel | Lösung |
|---|---|---|
| Abschließendes Komma | [1, 2, ] | Komma vor ] bzw. } entfernen |
| Einfache Anführungszeichen | {'name': 'Ada'} | Doppelte Anführungszeichen verwenden: {"name": "Ada"} |
| Schlüssel ohne Anführungszeichen | {name: "Ada"} | Schlüssel in Anführungszeichen setzen: {"name": "Ada"} |
| Fehlendes Komma | {"a": 1 "b": 2} | Komma zwischen den Eigenschaften ergänzen |
| Kommentar | // settings | Kommentare entfernen – JSON kennt keine |
| Zeilenumbruch in einem String | "line 1⏎line 2" | \n statt eines echten Zeilenumbruchs schreiben |
| Ungültiger Wert | undefined, NaN, True | null, eine Zahl, true oder false verwenden |
| Führende Null | {"zip": 01234} | 1234 schreiben oder als Text behalten: "01234" |
| Fehlende Klammer | {"a": [1, 2} | Jede [ mit ] und jede { mit } schließen |
Wann ist JSON gültig?
JSON ist in RFC 8259 definiert. Ein gültiges Dokument folgt einigen strengen Regeln:
- Es enthält genau einen Wert auf oberster Ebene, meist ein Objekt
{}oder ein Array[]. - Objekteinträge sind durch Kommas getrennte Paare
"key": value; Schlüssel sind immer Strings in doppelten Anführungszeichen. - Strings stehen in doppelten Anführungszeichen; darin sind nur die Escapes
\" \\ \/ \b \f \n \r \tund\uXXXXerlaubt. - Zahlen sind dezimal mit Punkt als Dezimaltrennzeichen (1.5, nicht 1,5): keine führenden Nullen, kein
+-Zeichen, kein Hexadezimal, keinNaNoderInfinity. true,falseundnullwerden kleingeschrieben.- Leerzeichen, Tabs und Zeilenumbrüche sind zwischen den Tokens erlaubt, Kommentare jedoch nicht.
JSON auf der Kommandozeile validieren
- Python:
python -m json.tool file.jsongibt Zeile und Spalte des ersten Fehlers aus. - jq:
jq empty file.jsonbeendet sich mit einer Fehlermeldung, wenn die Datei ungültig ist. - Node.js:
node -e "JSON.parse(require('fs').readFileSync('file.json', 'utf8'))"
Häufig gestellte Fragen
Was ist der Unterschied zwischen einem JSON Validator und einem JSON Linter?
Ein Validator prüft, ob ein Text der JSON-Syntax entspricht. Ein Linter erzwingt meist zusätzlich einen einheitlichen Stil. Dieser JSON Checker validiert streng nach RFC 8259 und sorgt mit „Formatieren“ außerdem für eine einheitliche Einrückung.
Kann ich gegen ein JSON Schema validieren?
Diese Seite prüft die Syntax. Um die erwartete Struktur Ihrer Daten zu beschreiben, erstellen Sie mit unserem JSON Schema Generator ein Schema aus einem Beispieldokument.
Warum ist mein JSON hier gültig, wird aber von einem anderen Programm abgelehnt?
Programme erwarten oft eine bestimmte Struktur (bestimmte Schlüssel oder Typen), eine bestimmte Kodierung wie UTF-8 ohne Byte Order Mark oder Zahlen innerhalb eines begrenzten Bereichs. Syntaktisch gültiges JSON kann solche Anwendungsregeln trotzdem verletzen.
Ist JSON mit Kommentaren (JSONC) gültig?
Nein. Standard-JSON erlaubt keine Kommentare. Manche Editoren akzeptieren sie in Einstellungsdateien (JSONC), APIs und JSON.parse jedoch nicht. „Reparieren“ entfernt Kommentare automatisch.