JSON Schema
JSON Schema ist ein Vokabular zur Beschreibung der Struktur von JSON-Dokumenten, das Typen, Einschränkungen und Validierungsregeln definiert; es ist der Schema-Standard für JSON.
Zweck
JSON einen XSD-ähnlichen Validierungsmechanismus geben und sicherstellen, dass Daten der erwarteten Struktur entsprechen.
Mechanismus
Ein Schema beschreibt sich in JSON: type deklariert den Typ, properties Objekteigenschaften, items Array-Elemente, required Pflichtfelder und minimum/maximum/pattern Einschränkungen. Draft 2020-12 ist die neueste Version. Validatoren (ajv) prüfen Dokumente dagegen.
Anwendungsfälle
- API-Request/Response-Validierung
- Konfigurationsdatei-Prüfung
- Formulardaten-Validierung
- OpenAPI-Typdefinitionen
Beispiele
- Eingabe
{"type":"object","properties":{"age":{"type":"integer","minimum":0}}}OutputValidates that age is a non-negative integerConstraint declaration
Häufige Fehler
- Using an outdated draft version breaks validator compatibility
- Pin the draft version and use a matching validator
Verwandte Begriffe
XSD
XSD (XML Schema Definition) ist die W3C-Standardsprache zur Definition der Struktur von XML-Dokumenten und beschreibt Elemente, Attribute und Typconstraints in XML-Syntax. GLOSSAR
DTD
Eine DTD (Document Type Definition) ist der Strukturdefinitionsmechanismus von XML 1.0; einfacher als XSD, aber begrenzt, und in einer speziellen (nicht-XML-)Syntax geschrieben. GLOSSAR
JSON
JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat auf Basis von JavaScript-Objektliteralen, das Schlüssel-Wert-Paare und Arrays nutzt. GLOSSAR