JSON-Schema-Validierung Erklärt

Was JSON Schema ist, wie man Daten gegen ein Schema validiert, häufige Muster und wie man ungültiges JSON debuggt.

JSON Schema ist ein Vokabular, das es Ihnen erlaubt, JSON-Daten zu annotieren und zu validieren. Es definiert die Struktur, Typen und Einschränkungen Ihrer Daten.

Was ist JSON Schema?

Ein JSON Schema ist selbst ein JSON-Dokument, das die erwartete Form eines anderen JSON-Dokuments beschreibt. Es spezifiziert, welche Felder existieren müssen, welche Typen sie haben sollten und welche Werte akzeptabel sind.

{  "type": "object",  "properties": {    "name": { "type": "string" },    "age": { "type": "integer", "minimum": 0 },    "email": { "type": "string", "format": "email" }  },  "required": ["name", "email"]}

Warum JSON Schema verwenden?

Ohne Validierung akzeptiert Ihre Anwendung stille jede Daten und schlägt unvorhergesehen zur Laufzeit fehl. JSON Schema erkennt Fehler frühzeitig.

  • API-Verträge — Stellen Sie sicher, dass Anfrage- und Antwortkörper das erwartete Format entsprechen.
  • Konfigurationsvalidierung — Erfassen Sie Tippfehler in Konfigurationsdateien.
  • Formularvalidierung — Validieren Sie Benutzereingaben auf Client- und Serverseite.
  • Dokumentation — Ein gut geschriebenes Schema dient als lebendige Dokumentation.

Kern-Schlüsselwörter

type spezifiziert den erwarteten Datentyp. Für Strings: minLength, maxLength, pattern, format. Für Zahlen: minimum, maximum. Für Arrays: items, minItems, maxItems. Für Objekte: properties, required, additionalProperties.

Komposition mit allOf, anyOf, oneOf

Schemata kombinieren häufig mehrere Einschränkungen. allOf erfordert, dass alle Schemata übereinstimmen. anyOf erfordert, dass mindestens eines übereinstimmt. oneOf erfordert, dass genau eines übereinstimmt.

Ungültiges JSON debuggen

Wenn die Validierung fehlschlägt, benötigen Sie klare Fehlermeldungen. Das JSON Formatter-Tool kann Ihnen helfen, Ihr JSON zu formatieren und zu inspizieren.

Best Practices

  • Verwenden Sie $ref — Vermeiden Sie Schema-Duplikate.
  • Seien Sie spezifisch — Verwenden Sie enum für feste Wertmengen.
  • Versionieren Sie Ihre Schemata — Verwenden Sie $schema und $id.
  • Validieren Sie an den Grenzen — Prüfen Sie Daten so früh wie möglich.

Probieren Sie es aus

Verwenden Sie ein lokales Tool, um Ihre JSON-Daten gegen ein Schema zu validieren — alles läuft in Ihrem Browser.

Frequently asked questions

Was ist JSON Schema?
JSON Schema ist ein Vokabular, mit dem Sie JSON-Dokumente annotieren und validieren können.
Ist JSON Schema dasselbe wie Validierung?
Nein. JSON Schema ist die Spezifikation; Validierung ist der Prozess der Datenprüfung.
Kann JSON Schema JSON gegen eine API-Spezifikation validieren?
Ja. JSON Schema wird häufig in OpenAPI/Swagger-Spezifikationen verwendet.
Wie debugge ich einen JSON-Schema-Validierungsfehler?
Die meisten Validatoren geben den genauen Pfad zurück, an dem die Validierung fehlgeschlagen ist.