Füge JSON ein und sieh sofort, ob es korrekt geparst wird. Erkennt nachgestellte Kommas, einfache Anführungszeichen und fehlende Klammern in Echtzeit.
Editor wird geladen...
Editor wird geladen...
Die vorherige Eingabe ist fast gültiges JSON. Das Problem ist das nachgestellte Komma nach false im zweiten Benutzerobjekt:
{"name": "Bob", "active": false,}
Entferne dieses Komma und das Dokument wird gültig:
{
"users": [
{"name": "Alice", "active": true},
{"name": "Bob", "active": false}
]
}
Dies ist der häufigste JSON Fehler, dem Entwickler begegnen, und es ist leicht, ihn zu übersehen, weil JavaScript ihn toleriert.
Die JSON Syntax wird durch RFC 8259 definiert. Die Regeln sind einfacher als die meisten erwarten. Ein gültiges JSON Dokument ist eines von: einem Objekt, einem Array, einem String, einer Zahl, einem Boolean (true oder false) oder null. Objekte sind Sammlungen von Schlüssel-Wert-Paaren. Schlüssel müssen Strings sein (mit doppelten Anführungszeichen). Werte können jeder JSON Wert sein. Arrays sind geordnete Listen von JSON Werten.
Strukturelle Regeln, die Entwickler am häufigsten erwischen:
Das letzte Element eines Arrays oder das letzte Schlüssel-Wert-Paar eines Objekts darf kein nachgestelltes Komma haben. [1, 2, 3,] ist ungültig. {"a": 1, "b": 2,} ist ungültig.
Alle Strings müssen doppelte Anführungszeichen verwenden. 'Alice' ist kein gültiges JSON. "Alice" ist es.
Objektschlüssel müssen Strings in Anführungszeichen sein. {name: "Alice"} ist kein JSON. {"name": "Alice"} ist es.
JSON hat keine Kommentarsyntax. // Kommentar und /* Kommentar */ verursachen einen Parse-Fehler. Das überrascht diejenigen, die aus Sprachen kommen, die Kommentare in Konfigurationsdateien unterstützen.
NaN, Infinity und -Infinity sind keine gültigen JSON Werte. Wenn du versuchst, NaN mit JSON.stringify() in JSON zu serialisieren, erhältst du null. Pythons json.dumps() wirft standardmäßig einen ValueError.
| Fehler | Beispiel | Korrektur |
|---|---|---|
| Nachgestelltes Komma | [1, 2,] |
[1, 2] |
| Einfache Anführungszeichen | {'key': 'value'} |
{"key": "value"} |
| Schlüssel ohne Anführungszeichen | {key: "value"} |
{"key": "value"} |
| Fehlende schließende Klammer | {"a": 1 |
{"a": 1} |
| NaN oder Infinity | {"value": NaN} |
{"value": null} |
{
name: 'Alice',
"age": 30,
"hobbies": ["reading", "coding",],
"bio": "Sie sagte: "Hallo"",
"score": NaN,
}
{
"name": "Alice",
"age": 30,
"hobbies": ["reading", "coding"],
"bio": "Sie sagte: \"Hallo\"",
"score": null
}
Die Probleme waren: Schlüssel name ohne Anführungszeichen, einfache Anführungszeichen für den String-Wert, nachgestelltes Komma im Array, nicht escaped doppelte Anführungszeichen im String, NaN als Wert und nachgestelltes Komma im Objekt.
Verwende einen JSON Formatierer, um dein JSON automatisch zu bereinigen, während du es formatierst.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.