So validieren Sie JSON: Vollständiger Leitfaden mit Beispielen
JSON (JavaScript Object Notation) ist der Eckpfeiler moderner Web-APIs, Konfigurationsdateien und des Datenaustauschs. Aber ungültiges JSON kann zu Anwendungsabstürzen, fehlgeschlagenen API-Integrationen und stundenlangem Debugging führen. Dieser Leitfaden führt Sie durch alles, was Sie über die Validierung von JSON wissen müssen, von grundlegenden Syntaxprüfungen bis hin zur erweiterten Schema-Validierung mit realen Beispielen.
Warum JSON-Validierung wichtig ist
Ungültiges JSON ist eine der häufigsten Fehlerquellen in Webanwendungen. Ein falsch platziertes Komma, ein nicht gequoteter Schlüssel oder ein nachgestelltes Komma kann dazu führen, dass JSON.parse() einen SyntaxError auslöst und die gesamte Datenpipeline zum Absturz bringt. Die Validierung erkennt diese Fehler frühzeitig, bevor sie sich im System ausbreiten und nachgelagerte Ausfälle verursachen.
Über die syntaktische Korrektheit hinaus stellt die Validierung sicher, dass JSON-Daten der erwarteten Struktur entsprechen. Eine API kann gültiges JSON zurückgeben, dem jedoch erforderliche Felder fehlen, das falsche Datentypen hat oder Werte außerhalb des akzeptablen Bereichs enthält. Die Schema-Validierung behebt diese strukturellen Probleme.
JSON-Syntaxregeln
Bevor Sie sich mit Validierungstools befassen, ist es wichtig, die Regeln zu verstehen, die JSON gültig machen. JSON hat eine strenge Syntax, die durch RFC 8259 definiert ist, und selbst eine einzelne Zeichenverletzung macht das gesamte Dokument ungültig.
Strings müssen doppelte Anführungszeichen verwenden
Alle String-Werte und Objektschlüssel müssen in doppelte Anführungszeichen eingeschlossen werden. Einfache Anführungszeichen sind keine gültigen JSON-String-Trennzeichen – ein häufiger Fehler von Entwicklern, die von JavaScript kommen.
// Invalid - single quotes
{'name': 'Alice', 'age': 30}
// Valid - double quotes
{"name": "Alice", "age": 30}Objektschlüssel müssen in Anführungszeichen stehen
Im Gegensatz zu JavaScript-Objektliteralen erfordert JSON, dass alle Objektschlüssel in doppelte Anführungszeichen eingeschlossen werden. Nicht gequotete Schlüssel sind ein Syntaxfehler.
// Invalid - unquoted keys
{name: "Alice", age: 30}
// Valid - quoted keys
{"name": "Alice", "age": 30}Keine nachgestellten Kommas erlaubt
JSON erlaubt keine Kommas nach dem letzten Element eines Objekts oder Arrays. Dies ist ein weiterer häufiger Fehler, insbesondere beim manuellen Bearbeiten von JSON.
// Invalid - trailing comma
{
"name": "Alice",
"age": 30,
}
// Valid - no trailing comma
{
"name": "Alice",
"age": 30
}Keine Kommentare unterstützt
JSON unterstützt keine Kommentare. Weder // einzeilige Kommentare noch /* */ mehrzeilige Kommentare sind in JSON gültig. Wenn Sie Dokumentation benötigen, verwenden Sie eine separate Datei oder Formate wie JSONC.
Häufige JSON-Validierungsfehler
Das Verständnis der häufigsten Fehler hilft Ihnen, sie schnell zu erkennen und zu beheben. Hier sind die Fehler, auf die Sie am häufigsten stoßen werden:
- Unerwartetes Token: Wird normalerweise durch einfache Anführungszeichen, nicht gequotete Schlüssel oder nachgestellte Kommas verursacht. Die Fehlermeldung enthält die Position, an der das Parsen fehlgeschlagen ist.
- Unerwartetes Ende der JSON-Eingabe: Der JSON-String ist unvollständig oder leer. Dies tritt häufig auf, wenn eine Netzwerkanfrage eine leere Antwort zurückgibt.
- Unerwartetes Nicht-Leerzeichen: Zusätzlicher Inhalt nach dem Haupt-JSON-Wert, z. B. ein zweites Objekt, das nicht in einem Array verpackt ist.
- Ungültige Zahl: Zahlen mit führenden Nullen (außer 0 selbst), hexadezimale Notation oder NaN/Infinity-Werte sind kein gültiges JSON.
JSON in JavaScript validieren
Die einfachste Methode zur Validierung von JSON in JavaScript besteht darin, JSON.parse() in einen try-catch-Block zu verpacken. Wenn das JSON ungültig ist, löst die Methode einen SyntaxError aus.
function validateJSON(jsonString) {
try {
JSON.parse(jsonString);
return { valid: true };
} catch (error) {
return {
valid: false,
error: error.message
};
}
}
const result = validateJSON('{"name": "Alice"}');
console.log(result);
// { valid: true }
const badResult = validateJSON("{'name': 'Alice'}");
console.log(badResult);
// { valid: false, error: "Unexpected token '..." }JSON in Python validieren
Python bietet das json-Modul mit json.loads() zum Parsen von JSON-Strings. Ähnlich wie bei JavaScript löst ungültiges JSON einen json.JSONDecodeError mit detaillierten Positionsinformationen aus.
import json
def validate_json(json_string):
try:
json.loads(json_string)
return {"valid": True}
except json.JSONDecodeError as e:
return {
"valid": False,
"error": str(e),
"line": e.lineno,
"column": e.colno
}
result = validate_json('{"name": "Alice"}')
print(result)
# {'valid': True}JSON Schema-Validierung
Die Syntaxvalidierung sagt Ihnen nur, ob JSON wohlgeformt ist. Mit JSON Schema können Sie die erwartete Struktur definieren und Daten dagegen validieren. Ein Schema gibt erforderliche Felder, Datentypen, Wertebereiche, String-Muster und verschachtelte Objektstrukturen an.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["name", "email"],
"properties": {
"name": { "type": "string", "minLength": 1 },
"email": { "type": "string", "format": "email" },
"age": { "type": "integer", "minimum": 0 }
}
}Beliebte JSON Schema-Validator sind Ajv für JavaScript, jsonschema für Python und json-schema-validator für Java. Diese Bibliotheken validieren JSON-Daten gegen Ihr Schema und generieren detaillierte Fehlermeldungen für jede Verletzung.
Online JSON-Validierungstools
Wenn Sie ein JSON-Dokument schnell überprüfen müssen, ohne Code zu schreiben, sind Online-Validatoren die schnellste Option. Sie bieten sofortiges Feedback mit Fehlerhervorhebung und Zeilennummern.
Best Practices für die JSON-Validierung
- Frühzeitig validieren: Überprüfen Sie JSON an Systemgrenzen (wie API-Endpunkten und Dateiimportfunktionen), bevor die Daten in die Geschäftslogik gelangen.
- Schema-Validierung verwenden: Validieren Sie über die Syntax hinaus die Datenstruktur mit JSON Schema, um fehlende Felder, falsche Typen und Werte außerhalb des Bereichs zu erkennen.
- Klare Fehlermeldungen bereitstellen: Wenn die Validierung fehlschlägt, fügen Sie den Feldpfad, den erwarteten Typ und den tatsächlichen Wert ein, um Benutzern zu helfen, Probleme schnell zu beheben.
- Sowohl clientseitig als auch serverseitig validieren: Die clientseitige Validierung bietet sofortiges Feedback, während die serverseitige Validierung Sicherheit und Datenintegrität gewährleistet.
- Validierung in CI/CD automatisieren: Verwenden Sie Tools wie ajv-cli oder jsonschema, um JSON-Fixtures und Konfigurationsdateien in der Build-Pipeline zu validieren.
- Validierungsfehler protokollieren: Zeichnen Sie Validierungsfehler mit Kontext auf, um Muster zu erkennen und die Ursachen bei Datenproduzenten zu beheben.
Bereit, Ihre JSON-Daten zu validieren? Probieren Sie unseren kostenlosen Online-JSON-Validator mit sofortiger Fehlererkennung und detailliertem Feedback aus.
JSON jetzt validierenHäufig gestellte Fragen
Was ist JSON-Validierung?
JSON-Validierung ist der Prozess der Überprüfung, ob ein JSON-Dokument den korrekten Syntaxregeln und optional einem definierten Schema entspricht. Die Syntaxvalidierung stellt sicher, dass JSON wohlgeformt ist, während die Schema-Validierung sicherstellt, dass die Datenstruktur mit den erwarteten Typen, erforderlichen Feldern und Werteinschränkungen übereinstimmt.
Was sind die häufigsten JSON-Fehler?
Die häufigsten JSON-Fehler sind: nachgestellte Kommas nach dem letzten Element, einfache Anführungszeichen anstelle von doppelten, nicht gequotete Objektschlüssel, Kommentare (in JSON nicht erlaubt) und undefined- oder NaN-Werte. Diese Fehler führen dazu, dass JSON.parse() einen SyntaxError auslöst.
Wie validiere ich JSON in JavaScript?
Verwenden Sie JSON.parse() in einem try-catch-Block. Wenn das JSON ungültig ist, löst JSON.parse() einen SyntaxError aus, den Sie abfangen und behandeln können. Für die Schema-Validierung verwenden Sie Bibliotheken wie Ajv, die JSON Schema-Validierung implementieren.
Was ist JSON Schema?
JSON Schema ist ein Vokabular, mit dem Sie JSON-Dokumente annotieren und validieren können. Es definiert die erwartete Struktur, Typen, erforderliche Felder, Wertebereiche, String-Muster und verschachtelte Objektstrukturen. Sie können es verwenden, um zu validieren, ob JSON-Daten über die grundlegende syntaktische Korrektheit hinaus einem bestimmten Format entsprechen.
Kann man JSON online validieren?
Ja, Online-JSON-Validierungstools wie der ToolHub JSON-Validator ermöglichen es Ihnen, JSON-Daten einzufügen und sofort zu sehen, ob sie gültig sind, mit detaillierten Fehlermeldungen, die die genaue Zeile und Spalte anzeigen, in der der Fehler aufgetreten ist.