ToolHub
View All Posts

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:

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.

Probieren Sie den ToolHub JSON-Validator aus, um Ihre JSON-Daten sofort zu validieren. Er bietet detaillierte Fehlermeldungen mit Zeilen- und Spaltennummern, Echtzeitvalidierung während der Eingabe und Ein-Klick-Formatierung.

Best Practices für die JSON-Validierung

Bereit, Ihre JSON-Daten zu validieren? Probieren Sie unseren kostenlosen Online-JSON-Validator mit sofortiger Fehlererkennung und detailliertem Feedback aus.

JSON jetzt validieren

Hä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.