ByteCompress

JSON Validator

Überprüfen Sie, ob Ihr JSON gemäß RFC 8259 syntaktisch gültig ist. Erhalten Sie präzise Fehlermeldungen mit Zeilen- und Spaltennummern, um Probleme schnell zu beheben.

0 chars
FreeClient-sideNo signup

Ein nachgestelltes Komma nach dem letzten Element in einem Array ist der häufigste JSON-Fehler - und es ist im minifizierten Output unsichtbar. JSON-Parsing-Fehler machen laut der Analyse der Entwicklerumfrage 2023 von StackOverflow etwa 15% der API-Debugging-Zeit aus. Dieser Validator erkennt das und jede andere RFC 8259-Verletzung direkt in Ihrem Browser. Fügen Sie Ihr JSON ein, um ein sofortiges Urteil zu erhalten: gültig oder ungültig, mit der genauen Zeile und Spalte jedes Problems. Nichts wird hochgeladen. Kein Konto erforderlich.

So validieren Sie JSON

  1. Fügen Sie Ihr JSON in das Eingabefeld ein oder geben Sie es ein.
  2. Der Validator überprüft die Syntax in Echtzeit oder klicken Sie auf Validieren für einen vollständigen Bericht.
  3. Wenn gültig, bestätigt ein grüner Indikator die Struktur mit einer Zusammenfassung des obersten Typs.
  4. Wenn ungültig, zeigt das Fehlerfeld die genaue Zeile, Spalte und eine Beschreibung des Problems in einfacher Sprache an.
  5. Beheben Sie das angegebene Problem und validieren Sie erneut, bis Sie ein sauberes Ergebnis erhalten.

Was wird überprüft

Strukturelle Regeln

JSON muss entweder mit einem Objekt ({}) oder einem Array ([]) auf oberster Ebene beginnen, obwohl RFC 8259 auch primitive Werte (Strings, Zahlen, Booleans, null) als oberste Werte erlaubt. geschweifte Klammern und eckige Klammern müssen ausgeglichen und richtig geschachtelt sein. Kommas müssen Elemente trennen, dürfen jedoch nicht nach dem letzten Element erscheinen - nachgestellte Kommas sind der häufigste JSON-Fehler. Jeder Objekt-Schlüssel muss ein doppelt-quoted String sein.

Werttypen

JSON definiert sechs Werttypen: Strings (doppelt-quoted, mit bestimmten Escape-Sequenzen), Zahlen (Ganzzahlen und Dezimalzahlen, keine führenden Nullen), Booleans (true und false, nur Kleinbuchstaben), null (Kleinbuchstaben), Objekte und Arrays. JavaScript-spezifische Werte wie undefined, NaN, Infinity und Funktionsausdrücke sind kein gültiges JSON und werden die Validierung nicht bestehen.

RFC 8259-Konformität

RFC 8259 (veröffentlicht im Dezember 2017, ersetzt RFC 4627 und RFC 7159) ist der aktuelle IETF-Standard für JSON. Es spezifiziert UTF-8-Codierung, verbietet doppelte Objekt-Schlüssel und definiert genaue Escape-Sequenzen für String-Werte. Dieser Validator setzt strenge RFC 8259-Regeln durch, um maximale Kompatibilität über alle Parser und Sprachen hinweg zu gewährleisten.

Beispiel

Ungültige Eingabe (nachgestelltes Komma)

{
  "name": "Alice",
  "roles": ["admin", "editor",]
}

Validator-Fehler

Fehler in Zeile 3, Spalte 33: Unerwartetes Token ']'
Nachgestellte Kommas sind in JSON-Arrays nicht erlaubt (RFC 8259 §5).

Häufige Syntaxfehler

  • Nachgestelltes Komma - {"a": 1,} - entfernen Sie das letzte Komma vor der schließenden geschweiften Klammer oder eckigen Klammer
  • Einfach-quoted Strings - {'key': 'value'} - ändern Sie zu doppelt-quoted
  • Nicht-quoted Schlüssel - {key: "value"} - wickeln Sie den Schlüssel in doppelt-quoted
  • JavaScript-Kommentare - // Kommentar oder /* Kommentar */ - JSON hat keine Kommentarsyntax; entfernen Sie sie
  • Falsche Groß-/Kleinschreibung bei Boolean/null - True, False, NULL sind ungültig; verwenden Sie true, false, null

Unterschied zwischen Validierung und Formatierung

Die Validierung überprüft, ob JSON syntaktisch korrekt ist - es besteht oder fällt mit spezifischen Fehlermeldungen. Die Formatierung fügt nur Leerzeichen zur besseren Lesbarkeit hinzu und überprüft nicht die Richtigkeit. Der Versuch, ungültiges JSON zu formatieren, schlägt ebenfalls fehl, da der Formatter das JSON zuerst analysieren muss. Validieren Sie zuerst, dann formatieren Sie.

Sobald JSON die Validierung besteht, formatiert der JSON Formatter es zur besseren Lesbarkeit, und der JSON Minifier komprimiert es für die Produktion. Für in URLs eingebettetes JSON dekodieren Sie mit dem URL Decoder, bevor Sie validieren.

Häufig gestellte Fragen

Was ist der Unterschied zwischen JSON-Validierung und Formatierung?

Die Validierung überprüft, ob Ihr JSON gemäß RFC 8259 syntaktisch korrekt ist. Die Formatierung fügt nur Leerzeichen zur besseren Lesbarkeit hinzu und überprüft nicht die Richtigkeit. Sie können versuchen, ungültiges JSON zu formatieren, aber der Formatter wird ebenfalls fehlschlagen, da er das JSON zuerst analysieren muss. Validieren Sie zuerst, bevor Sie formatieren.

Warum akzeptiert JavaScript mein JSON, aber der Validator lehnt es ab?

Einige JavaScript-Umgebungen akzeptieren entspannte JSON-Supersets wie JSON5 oder HJSON, die Kommentare, einfach-quoted Strings und nachgestellte Kommas erlauben. Dieser Validator testet gegen das strenge RFC 8259, um sicherzustellen, dass das JSON in allen Sprachen und Laufzeiten funktioniert. Wenn Ihr Anwendungsfall nur JavaScript ist, ziehen Sie JSON5.parse() mit der json5-Bibliothek in Betracht.

Kann ich JSON-Schema-Dokumente mit diesem Tool validieren?

Dieses Tool validiert nur die JSON-Syntax, nicht die Semantik des JSON-Schemas. Ein JSON-Schema-Dokument ist selbst gültiges JSON, daher funktioniert die Syntaxvalidierung. Um zu überprüfen, ob ein Datenobjekt einer JSON-Schema-Definition entspricht, benötigen Sie einen speziellen JSON-Schema-Validator wie ajv.

Sind meine Daten privat, wenn ich sie hier validiere?

Vollständig. Die Validierung erfolgt clientseitig in Ihrem Browser unter Verwendung der nativen JSON.parse-Funktion. Es werden keine Daten an einen Server gesendet, protokolliert oder gespeichert. Sie können sicher Payloads mit API-Anmeldeinformationen, persönlichen Informationen oder internen Geschäftsdaten validieren.

Was sind die häufigsten JSON-Validierungsfehler?

In der Reihenfolge der Häufigkeit: (1) nachgestellte Kommas nach dem letzten Element - [1, 2, 3,]; (2) einfach-quoted Strings anstelle von doppelt-quoted; (3) nicht-escaped Backslashes oder Steuerzeichen innerhalb von Strings; (4) JavaScript-Kommentare; (5) Großbuchstaben True/False/Null anstelle von true/false/null.