Zum Inhalt springen
Aback Tools Logo

JSON online validieren: Syntax, Schema & häufige Fehler

JSON online validieren: was gültiges JSON laut RFC 8259 bedeutet, Browser-lokale Validatoren, Prüfung mit JSON Schema, die fünf häufigsten Fehler und ihre Behebungen sowie programmatische Validierung in JS, Python und CI.

DH
Tutorials & How-Tos13 Min. Lesezeit2,800 Wörter

JSON-Validierung ist das Erste, was Sie tun sollten, wann immer JSON ein System verlässt und in ein anderes eintritt — bevor es Ihre API erreicht, bevor es in einer Datenbank gespeichert, bevor es von einem Skript verarbeitet wird. Ungültiges JSON erzeugt keine hilfreiche Fehlermeldung; es erzeugt einen Analysefehler, der oft der falschen Komponente zugeschrieben wird. Dieser Leitfaden deckt jede praktische Methode zur JSON-Validierung online und offline ab, erklärt, was „gültiges JSON“ wirklich bedeutet, und zeigt, wie Sie die häufigsten Fehler diagnostizieren und beheben.

< 1sOnline-ValidierungszeitKeine Installation nötig
0 KBHochgeladene DatenLäuft vollständig im Browser
5Häufigste JSON-FehlerAlle vom Validator erkannt

Was bedeutet „gültiges JSON“ eigentlich?

JSON (JavaScript Object Notation) hat eine formale Spezifikation, definiert durch RFC 8259 und den ECMA-404-Standard. Ein JSON-Dokument ist gültig, wenn es dieser Spezifikation vollständig entspricht — nicht mehr, nicht weniger. Die Regeln sind strenger, als die meisten erwarten, und mehrere Dinge, die JavaScript erlaubt, sind in JSON ausdrücklich verboten.

Die Regeln der JSON-Spezifikation

  • Zeichenketten müssen doppelte Anführungszeichen verwenden — in einfache Anführungszeichen gesetzte Strings (`'value'`) sind kein gültiges JSON, selbst wenn JavaScript sie akzeptiert.
  • Keine nachgestellten Kommas — `[1, 2, 3,]` und `{"a": 1,}` sind ungültig; das Komma nach dem letzten Element muss entfernt werden.
  • Keine Kommentare — `// Zeilenkommentare` und `/* Blockkommentare */` sind nicht Teil der JSON-Spezifikation.
  • Keine undefined-Werte — `undefined` ist ein JavaScript-Konzept; JSON erlaubt nur `null`, Zahlen, Strings, Booleans, Arrays und Objekte.
  • Zahlen dürfen keine führenden Nullen haben — `012` ist kein gültiges JSON; verwenden Sie `12`.
  • Objektschlüssel müssen Strings sein — `{1: "value"}` ist ungültig; Schlüssel müssen doppelt in Anführungszeichen gesetzte Strings sein.
  • Keine Steuerzeichen in Strings — rohe Zeilenumbrüche, Tabs und andere Steuerzeichen müssen escaped werden (`\n`, `\t` usw.).

Note

JSON5 und JSONC (JSON mit Kommentaren) sind beliebte, entspannte Obermengen von JSON, die Kommentare, nachgestellte Kommas und einfache Anführungszeichen erlauben. Wenn Ihr Werkzeug diese Formate erzeugt, wird ein Standard-JSON-Validator sie ablehnen — verwenden Sie stattdessen einen JSON5- oder JSONC-Parser oder entfernen Sie die Erweiterungen vor der Validierung.

Syntaktisch gültig vs. semantisch gültig

Ein JSON-Dokument kann syntaktisch gültig (korrekt nach der Spezifikation geformt), aber für Ihre Anwendung semantisch ungültig sein. Beispielsweise ist ein JSON-Objekt mit „age“ = -5 gültiges JSON, aber ein ungültiges Alter für ein Benutzerprofil. Die Syntaxvalidierung ist das, was ein JSON-Parser prüft; die Schema-Validierung findet die semantischen Fehler. Beide Schichten sind wichtig, und dieser Leitfaden deckt beide ab.

JSON in Sekunden online validieren

Der schnellste Weg zu prüfen, ob ein JSON-String gültig ist, ist das Einfügen in einen Online-JSON-Validator. Keine Installation, keine Konfiguration, kein Konto. Das Ergebnis ist sofort da und — bei einem browserbasierten Werkzeug — verlassen Ihre Daten niemals Ihr Gerät.

Ein JSON-Text ist ein serialisierter Wert. Beachten Sie, dass bestimmte frühere JSON-Spezifikationen einen JSON-Text auf ein Objekt oder ein Array beschränkten.

- JSON-Spezifikation, RFC 8259

Den JSON-Formatierer und -Validator verwenden

Der JSON-Formatierer & Validator auf Aback Tools validiert und formatiert JSON gleichzeitig. Fügen Sie einen beliebigen JSON-String ein, und er sagt Ihnen sofort, ob die Eingabe gültig ist. Ist sie ungültig, hebt das Werkzeug die Fehlerposition mit Zeilennummer und einer Klartext-Beschreibung hervor, was schiefgelaufen ist. Ist sie gültig, gibt es sauberes, eingerücktes JSON aus, das Sie direkt in Ihr Projekt kopieren können.

Dieser Doppelnutzen zählt in der Praxis. Wenn Sie JSON von einer API erhalten, es aus einer Konfigurationsdatei kopieren oder aus einer Logzeile ziehen, ist der Rohtext oft minifiziert und schwer lesbar. Ihn als Teil der Validierung zu formatieren gibt Ihnen zwei Dinge zugleich: die Bestätigung, dass das JSON gültig ist, und eine lesbare Version, die Sie tatsächlich inspizieren können.

Tip

Wenn Sie nur eine Ja/Nein-Antwort brauchen — ist das gültiges JSON? — fügen Sie Ihr Payload ein und sehen Sie sich die Statusanzeige oben im Ausgabepanel an. Ein grünes „Gültiges JSON“-Abzeichen bedeutet, dass der Parser die Eingabe fehlerfrei akzeptiert hat. Eine rote Anzeige bedeutet, dass etwas nicht stimmt, und die Fehlerdetails verraten Ihnen genau, was.

JSON-Formatierer & Validator

Fügen Sie einen beliebigen JSON-String ein, um ihn sofort zu validieren, hübsch zu drucken und syntaxfarbig hervorzuheben — im Browser, mit Fehlerdiagnose auf Zeilenebene und ohne Uploads.

Open tool

Häufige JSON-Fehler und wie Sie sie beheben

Die meisten ungültigen JSON-Dokumente scheitern an einem von fünf Gründen. Diese Muster zu kennen, erlaubt es Ihnen, Fehler schnell zu beheben, ohne sich für die Diagnose ganz auf ein Werkzeug zu verlassen.

1

Nachgestelltes Komma

Nachgestellte Kommas sind der häufigste JSON-Fehler, vor allem weil JavaScript und die meisten modernen Sprachen sie in Objekt- und Array-Literalen erlauben. JSON tut das nicht. Entfernen Sie das Komma nach der letzten Eigenschaft in jedem Objekt und dem letzten Element in jedem Array.

Nachgestelltes Komma - ungültig vs. gültig
json
// ❌ Ungültig - Komma nach der letzten Eigenschaft
{
  "name": "Alice",
  "age": 30,
}

// ✓ Gültig - kein nachgestelltes Komma
{
  "name": "Alice",
  "age": 30
}
2

Strings in einfachen Anführungszeichen

Einfache Anführungszeichen sind in JavaScript gültig, in JSON aber ausdrücklich verboten. Jeder String — sowohl Schlüssel als auch Werte — muss doppelte Anführungszeichen verwenden. Dieser Fehler tritt häufig auf, wenn JSON von Hand verfasst oder aus einem JavaScript-Objektliteral kopiert wird.

Einfache Anführungszeichen - ungültig vs. gültig
json
// ❌ Ungültig - Schlüssel und Wert in einfachen Anführungszeichen
{'city': 'London'}

// ✓ Gültig - Schlüssel und Wert in doppelten Anführungszeichen
{"city": "London"}
3

Kommentare im JSON

JSON hat keine Kommentar-Syntax. Wenn Ihr JSON `//`- oder `/* */`-Kommentare enthält — oft zur Dokumentation in Konfigurationsdateien hinzugefügt — wird ein Standard-JSON-Parser das gesamte Dokument ablehnen. Entfernen Sie alle Kommentare vor dem Parsen oder wechseln Sie zu einem Format wie JSONC oder JSON5, das sie nativ unterstützt.

Kommentare - ungültiges JSON
json
// ❌ Ungültig - Kommentare sind nicht Teil der JSON-Spezifikation
{
  // Dies ist das Benutzerobjekt
  "name": "Alice",
  "role": "admin" /* erweiterte Berechtigungen */
}
4

Nicht escapete Sonderzeichen in Strings

Rohe Zeilenumbrüche, Tabs, Backslashes und bestimmte Unicode-Steuerzeichen müssen innerhalb von JSON-Strings escaped werden. Ein roher Zeilenumbruch innerhalb eines String-Werts — im Gegensatz zur Escape-Sequenz `\n` — macht das JSON unparsebar. Dieser Fehler tritt häufig auf, wenn JSON durch String-Konkatenation im Code erzeugt wird, statt einen richtigen JSON-Serialisierer zu verwenden.

Nicht escapete Zeichen - ungültig vs. gültig
json
// ❌ Ungültig - roher Zeilenumbruch im String-Wert
{"message": "line one
line two"}

// ✓ Gültig - escapeter Zeilenumbruch
{"message": "line one\nline two"}
5

Unpassende Klammern oder geschweifte Klammern

Eine ungeschlossene Klammer oder ein unpassender schließender Begrenzer verursacht einen Analysefehler. Das ist häufig bei handeditiertem JSON und bei JSON, das von Code erzeugt wird, der Payloads durch String-Konkatenation aufbaut. Ein Formatierer mit Klammerabgleich macht diese sofort sichtbar.

Unpassende Klammern - ungültig vs. gültig
json
// ❌ Ungültig - Array geöffnet, aber Objekt geschlossen
{
  "items": [1, 2, 3
}

// ✓ Gültig - passende Klammern
{
  "items": [1, 2, 3]
}

JSON-Duplikatschlüssel-Detektor

Erkennt wiederholte Objektschlüssel in jedem JSON-Payload — stille Überschreibungen durch Duplikatschlüssel sind nach manchen Parsern gültig, verursachen aber Datenverlust und schwer zu diagnostizierende Bugs.

Open tool

JSON-Schema-Validierung: Werte prüfen, nicht nur Syntax

Die Syntaxvalidierung bestätigt, dass das JSON wohlgeformt ist. Die Schema-Validierung bestätigt, dass das JSON die richtigen Daten enthält — die richtigen Felder, die richtigen Typen, die richtigen Wertebereiche. Das sind zwei verschiedene Prüfungen, und beide werden in Produktionssystemen benötigt.

Was ist JSON Schema?

JSON Schema ist ein Vokabular zur Beschreibung der Struktur und der Einschränkungen eines JSON-Dokuments. Ein Schema-Dokument legt fest, welche Felder erforderlich sind, welchen Typ jedes Feld haben muss, Mindest- und Höchstwerte für Zahlen, erlaubte String-Muster und mehr. Wenn Sie ein JSON-Dokument gegen ein Schema validieren, erhalten Sie präzise Fehler wie „Feld ‚email‘ ist erforderlich“ oder „Feld ‚age‘ muss eine positive Ganzzahl sein“ — nicht nur „ungültiges JSON“.

Den JSON-Schema-Validator verwenden

Der JSON-Schema-Validator auf Aback Tools nimmt ein JSON-Payload und ein JSON Schema entgegen und validiert das Payload gegen die Schema-Einschränkungen. Er meldet regelbasierte Fehler mit dem exakten Feldpfad, der fehlgeschlagen ist — Sie wissen also nicht nur, dass die Validierung scheiterte, sondern welches Feld welche Regel verletzte. Das ist das richtige Werkzeug, wenn Sie prüfen müssen, ob eine API-Antwort einem Vertrag entspricht, oder ob eine Konfigurationsdatei alle erforderlichen Einstellungen enthält.

Note

Wenn Sie ein JSON-Payload, aber noch kein Schema haben, leitet der [JSON-Schema-Generator](/tools/data/converters/json-schema-generator) automatisch ein Draft-07- oder Draft-2020-12-Schema aus Ihrem Payload ab. Er erkennt Typen, Pflichtfelder, String-Formate (E-Mail, Datum, URI) und verschachtelte Objektstrukturen. Nutzen Sie das generierte Schema als Ausgangspunkt und verfeinern Sie es mit zusätzlichen Einschränkungen.

Syntaxvalidierung vs. Schema-Validierung

AspektSyntaxvalidierungSchema-Validierung
Was geprüft wirdKonformität mit der JSON-SpezifikationDatentypen, Felder, Einschränkungen
Erforderliches WerkzeugBeliebiger JSON-ParserJSON-Schema-Validator
FehlerausgabeZeichen-/SpaltenpositionFeldpfad + verletzte Regel
FindetFehlende Anführungszeichen, falsche KommasFalscher Typ, fehlendes Feld
Wann einsetzenImmer — erste PrüfungWenn ein Vertrag existiert
Bestehen = GarantieVon jeder JSON-Bibliothek parsebarEntspricht Ihrem Datenmodell

Ein Schema aus einem bestehenden Payload generieren

Der schnellste Weg, einer bestehenden Anwendung Schema-Validierung hinzuzufügen, ist die Generierung des Schemas aus einem bekannten guten Payload. Fügen Sie ein repräsentatives JSON-Objekt in den JSON-Schema-Generator ein, und er erzeugt ein vollständiges Schema mit Typdefinitionen, Pflichtfeldern und Formathinweisen. Kopieren Sie die Ausgabe in Ihr Projekt und verwenden Sie sie als Validierungsvertrag für alle künftigen Payloads dieses Typs.

JSON programmatisch validieren

Online-Werkzeuge sind die schnellste Wahl für einmalige Prüfungen, aber Produktionssysteme brauchen JSON-Validierung eingebettet in Code. Jede große Programmiersprache hat mindestens eine gepflegte JSON-Parsing-Bibliothek, und die meisten haben zusätzlich dedizierte Schema-Validierungsbibliotheken.

JavaScript und TypeScript

In JavaScript wirft `JSON.parse()` einen `SyntaxError` bei ungültigem JSON — umwickeln Sie ihn mit try/catch, um den Fehler elegant zu behandeln. Für die Schema-Validierung ist AJV (Another JSON Validator) die am weitesten verbreitete Bibliothek, die JSON Schema Draft-07 bis Draft 2020-12 mit hoher Leistung unterstützt. Zod ist eine beliebte TypeScript-first-Alternative, die JSON gegen Laufzeit-Typschemas mit vollständiger TypeScript-Inferenz validiert. Der JSON-zu-Zod-Schema-Konverter auf Aback Tools erzeugt automatisch ein Zod-Schema aus jedem JSON-Payload.

Syntaxvalidierung in TypeScript
typescript
function isValidJson(input: string): boolean {
  try {
    JSON.parse(input);
    return true;
  } catch {
    return false;
  }
}

// Or get the parsed value and the error together:
function parseJson<T>(input: string): { data: T } | { error: string } {
  try {
    return { data: JSON.parse(input) as T };
  } catch (e) {
    return { error: (e as SyntaxError).message };
  }
}

Python

Pythons eingebautes `json`-Modul wirft `json.JSONDecodeError` (eine Unterklasse von `ValueError`), wenn das Parsen fehlschlägt. Das Fehlerobjekt enthält die Zeilennummer, die Spalte und eine Beschreibung. Für die Schema-Validierung sind jsonschema und pydantic die Standardwahl — pydantic ist besonders in FastAPI-Projekten beliebt, weil es JSON in einem Schritt validiert und in typisierte Python-Objekte deserialisiert.

Syntaxvalidierung in Python
python
import json

def is_valid_json(text: str) -> bool:
    try:
        json.loads(text)
        return True
    except json.JSONDecodeError as e:
        print(f"Invalid JSON at line {e.lineno}, col {e.colno}: {e.msg}")
        return False

Kommandozeile

Auf jedem System mit installiertem Python validiert und formatiert `python3 -m json.tool input.json` eine JSON-Datei mit einem einzigen Befehl. Der Exit-Code ist bei Fehlschlag ungleich null, was es für Shell-Skripte und CI-Pipelines geeignet macht. Das Werkzeug `jq` ist eine mächtigere Alternative: `jq . input.json` validiert und formatiert, während `jq 'empty' input.json` ohne Ausgabe validiert.

Schnelle JSON-Validierung von der Kommandozeile
bash
# Validate and pretty-print with Python (built-in, no install)
python3 -m json.tool input.json

# Validate silently with jq (exit code 0 = valid, 1 = invalid)
jq empty input.json && echo "Valid" || echo "Invalid"

# Validate multiple files with a loop
for f in *.json; do
  jq empty "$f" && echo "$f: valid" || echo "$f: INVALID"
done

Tip

Verwenden Sie in CI-Pipelines `jq empty` statt `python3 -m json.tool` für die JSON-Validierung. `jq` ist bei großen Dateien schneller, erzeugt bei Erfolg keine Ausgabe (saubere Logs) und liefert einen aussagekräftigen Exit-Code, auf den Ihr CI-System ohne zusätzliche Logik reagieren kann.

Spezielle JSON-Formate validieren

Die Standard-JSON-Validierung deckt `.json`-Dateien und API-Payloads ab. Aber JSON tritt in mehreren anderen Formaten mit eigenen Validierungsanforderungen auf — Formaten, bei denen ein Standard-JSON-Parser entweder falsche Ergebnisse liefert oder die gesamte Eingabe ablehnt.

JSONL und NDJSON (JSON Lines)

JSON-Lines-Dateien (`.jsonl`) enthalten ein JSON-Objekt pro Zeile ohne umschließendes Array. Dieses Format ist Standard für Logdateien, ML-Trainingsdatensätze und Streaming-APIs. Ein Standard-JSON-Parser lehnt eine JSONL-Datei ab, weil die Datei als Ganzes kein gültiges JSON-Dokument ist — jede Zeile muss einzeln geparst werden. Der JSON-Lines-Validator & Fixer validiert jede Zeile separat, meldet, welche Zeilennummern Fehler haben, und bietet sichere Auto-Korrekturen für häufige Formatierungsprobleme.

JSON mit Duplikatschlüsseln

Die JSON-Spezifikation erlaubt technisch Duplikatschlüssel in Objekten, aber das Verhalten ist undefiniert — verschiedene Parser behandeln es unterschiedlich. Pythons `json.loads()` behält den letzten Wert; manche Parser behalten den ersten; andere werfen einen Fehler. In der Praxis sind Duplikatschlüssel fast immer ein Bug — entweder ein missglücktes Merge oder ein Template-Fehler. Der JSON-Duplikatschlüssel-Detektor findet alle wiederholten Schlüssel und sagt Ihnen genau, wo sie auftreten.

JSON in YAML-Konfigurationsdateien

YAML ist eine Obermenge von JSON, daher ist jedes gültige JSON auch gültiges YAML. Aber in YAML-Dateien eingebettetes JSON — etwa als Wert eines String-Felds — braucht seine eigene Validierung. Wenn Sie mit YAML-Konfigs arbeiten, die eingebettete JSON-Werte enthalten, validieren Sie die JSON-Abschnitte separat mit dem JSON-Formatierer und danach das gesamte YAML mit einem YAML-Validator. Verwendet Ihr Projekt beide Formate und müssen Sie zwei Konfigurationsdateien vergleichen, behandelt der JSON/YAML-Diff-Highlighter beide gleichzeitig.

Warning

Verwenden Sie nie einen YAML-Parser als Ersatz für einen JSON-Validator. YAML erlaubt Konstrukte, die kein gültiges JSON sind — dass YAML Ihre Eingabe akzeptiert, bestätigt nicht, dass das JSON spezifikationskonform ist. Verwenden Sie einen JSON-spezifischen Parser zur JSON-Validierung, selbst wenn das JSON in eine YAML-Datei eingebettet ist.

Best Practices für die JSON-Validierung

JSON einmal vor einer wichtigen Operation zu validieren ist gut. Die Validierung an jedem Punkt einzubauen, an dem JSON Ihr System betritt oder verlässt, ist besser. Diese Praktiken gelten, ob Sie eine API bauen, Datenpipelines verarbeiten oder Konfigurationsdateien verwalten.

Bei der Ingestion validieren, nicht beim Konsum

Der richtige Zeitpunkt, JSON zu validieren, ist, wenn es zum ersten Mal in Ihr System eintritt — an der API-Grenze, im Datei-Upload-Handler, beim Message-Queue-Consumer. Beim Konsum zu validieren (in der Funktion, die tief in Ihrem Code einen Wert liest) bedeutet, dass ungültige Daten weiter wandern, bevor sie scheitern — der Fehler wird schwerer nachvollziehbar. Validieren Sie früh und weisen Sie ungültige Eingaben am Eingangspunkt zurück.

Nutzen Sie ein Schema, nicht nur eine Syntaxprüfung

Syntaxvalidierung ist die Mindestanforderung. In jedem System, in dem JSON geschäftskritische Daten transportiert — Benutzerdatensätze, Zahlungs-Payloads, Konfigurationswerte — fügt ein Schema eine zweite Schicht hinzu, die falsche Typen, fehlende Pflichtfelder und außerhalb der Reichweite liegende Werte findet, die die Syntaxvalidierung nicht erkennen kann. Generieren Sie Ihr anfängliches Schema aus einem bekannten guten Payload mit dem JSON-Schema-Generator und verfeinern Sie es, während sich Ihr Datenmodell entwickelt.

Behandeln Sie Validierungsfehler explizit

Ein `JSON.parse()`-Aufruf in einem try/catch, der den Fehler verschluckt und null zurückgibt, ist schlechter als keine Validierung — er versteckt das Problem. Wenn die JSON-Validierung fehlschlägt, loggen Sie den Fehler mit der Eingangsquelle, der exakten Fehlermeldung und genug Kontext, um das Problem zu reproduzieren. Geben Sie dem Aufrufer einen aussagekräftigen Fehler zurück statt eines leeren Ergebnisses, das anderswo einen Sekundärfehler auslöst.

  • Loggen Sie die Roheingabe — wenn die JSON-Validierung in der Produktion fehlschlägt, ist die Roheingabe das wertvollste Debug-Artefakt. Loggen Sie eine gekürzte Version (erste 500 Zeichen) zusammen mit dem Fehler.
  • Schließen Sie den Quellkontext ein — notieren Sie, woher das JSON kam: welcher API-Endpoint, welche Datei, welche Queue-Nachricht. Das verwandelt einen generischen Analysefehler in einen handhabbaren Vorfall.
  • Richten Sie Alarme für Parse-Fehler ein — eine Spitze bei JSON-Validierungsfehlern signalisiert oft einen Breaking Change in einer Upstream-API oder ein Deployment, das einen Serialisierungs-Bug einführte.
  • Testen Sie mit ungültigen Eingaben — nehmen Sie ungültiges JSON (nachgestelltes Komma, fehlendes Anführungszeichen, falscher Typ) in Ihre Testsuite auf, um zu bestätigen, dass Ihre Fehlerbehandlung korrekt funktioniert.

Tip

Arbeiten Sie mit Antworten von Drittanbieter-APIs, dann validieren Sie immer vor der Verarbeitung — selbst bei APIs, denen Sie vertrauen. API-Anbieter ändern Antwortstrukturen, fügen neue Felder hinzu und führen Breaking Changes ein. Ein Schema-Validator mit versionierten Schemata gibt Ihnen eine Frühwarnung bei Vertragsänderungen, bevor sie stille Ausfälle stromabwärts verursachen.

JSON-Schema-Validator

Validieren Sie jedes JSON-Payload gegen ein JSON Schema und erhalten Sie regelbasierte Fehlerdiagnosen mit exakten Feldpfaden — ohne Installation, ohne Uploads.

Open tool

Key takeaways

  • Gültiges JSON folgt strikt der RFC 8259: nur doppelt in Anführungszeichen gesetzte Strings, keine nachgestellten Kommas, keine Kommentare, kein `undefined` und keine nicht escapeten Steuerzeichen.
  • Der JSON-Formatierer & Validator validiert und formatiert JSON gleichzeitig, mit Fehlerdiagnose auf Zeilenebene, die vollständig in Ihrem Browser läuft.
  • Die fünf häufigsten JSON-Fehler sind: nachgestellte Kommas, Strings in einfachen Anführungszeichen, Kommentare, nicht escapete Steuerzeichen und unpassende Klammern — alle sofort vom Validator erkannt.
  • Die Syntaxvalidierung bestätigt die Parsebarkeit; die JSON-Schema-Validierung bestätigt, dass Ihre Daten dem erwarteten Vertrag entsprechen — beide Prüfungen dienen unterschiedlichen Zwecken.
  • Nutzen Sie `JSON.parse()` in einem try/catch für die Validierung im Code; nutzen Sie `jq empty` für schnelle CLI-Prüfungen in CI-Pipelines.
  • Spezielle Formate wie JSONL, JSON mit Duplikatschlüsseln und in YAML eingebettetes JSON erfordern formatspezifische Validatoren statt eines Standard-JSON-Parsers.
  • Validieren Sie JSON bei der Ingestion, nicht beim Konsum — weisen Sie ungültige Daten am Eingangspunkt zurück, bevor sie sich in Ihrem System ausbreiten.

Häufige Fragen

The fastest method is to paste the string into the JSON Formatter & Validator on Aback Tools - it reports valid or invalid in under a second with no setup. In code, use JSON.parse() wrapped in a try/catch in JavaScript, or json.loads() in a try/except in Python. Both throw an exception on invalid input and return the parsed object on success. For command-line checks, `jq empty input.json` exits with code 0 on valid JSON and code 1 on invalid.

Trailing commas are the single most common JSON error. They appear after the last property in an object or the last element in an array: `{"name": "Alice",}` or `[1, 2, 3,]`. JSON does not allow trailing commas even though JavaScript, Python, and most other languages do. The second most common error is single-quoted strings - JSON requires double quotes for both keys and values.

No. The JSON specification (RFC 8259) explicitly excludes comments. Both `//` line comments and `/* */` block comments are invalid in standard JSON. If you need JSON with comments, consider JSONC (used by VS Code config files) or JSON5, both of which are relaxed supersets. When using these formats, make sure your parser explicitly supports them - a standard JSON parser will reject the file.

Syntax validation checks whether the JSON is well-formed per the RFC 8259 specification - parseable by any standard JSON library. Schema validation checks whether the data inside the JSON conforms to a contract: required fields, correct types, value ranges, string formats. A JSON document can be syntactically valid but semantically wrong - for example, `{"age": "thirty"}` is valid JSON but fails a schema that requires age to be a number.

If your JSON.parse() call appears to succeed but returns null, the input string itself is the JSON text `null` - which is perfectly valid JSON. The value `null` is one of the six JSON value types. If you expected an object or array, the input may have been a null literal rather than a missing or empty string. Wrap JSON.parse() in a function that also checks `typeof result !== "object" || result === null` if you specifically need an object.

A JSONL file contains one JSON object per line and is not a valid JSON document on its own - a standard JSON parser rejects it because the file as a whole does not match the JSON grammar. Use the JSON Lines Validator & Fixer on Aback Tools, which validates each line individually and reports which line numbers have parse errors. For CLI validation, `jq empty < input.jsonl` also works by reading each line as a separate JSON value.

The JSON specification says behavior is undefined when an object contains duplicate keys - it does not explicitly forbid them, but different parsers handle them differently. Python keeps the last value, some parsers keep the first, and others throw an error. In practice, duplicate keys are almost always a bug. Use the JSON Duplicate Key Detector on Aback Tools to scan any payload for repeated keys before it causes a silent data-loss issue in your application.

The simplest option is `jq empty filename.json` - it exits with code 0 on valid JSON and code 1 on invalid, with no output on success. For schema validation in CI, use AJV CLI (`ajv validate -s schema.json -d data.json`) or write a short script using Python's jsonschema library. Both integrate cleanly with GitHub Actions, GitLab CI, and other systems that block on non-zero exit codes. Run validation as an early step before any processing to catch issues at the source.

ShareXLinkedIn