Was JSON-Schema-Validierung tut
JSON Schema ist ein Vokabular zur Beschreibung der Struktur und Constraints von JSON-Dokumenten. Ein Schema definiert die erwarteten Typen, erforderlichen Eigenschaften, Zeichenketten-Muster, Zahlenbereiche, Array-Längen und erlaubten Werte für jeden Teil eines JSON-Dokuments. Validierung prüft das Dokument gegen diese Regeln und meldet jeden Verstoß mit einem präzisen JSON-Pointer-Pfad.
Der Validator unterstützt alle kern-JSON-Schema-Schlüsselwörter: type, properties, required, additionalProperties, items, minItems, maxItems, minimum, maximum, minLength, maxLength, pattern, enum, const, oneOf, anyOf, allOf, not, if/then/else und $ref für Schema-Komposition.
Validierungsfehler enthalten das fehlschlagende Schlüsselwort, den Schema-Pfad, den Instanz-Pfad und eine menschenlesbare Nachricht. Mehrere Fehler werden zusammen gesammelt und angezeigt damit Sie alle Probleme in einem Durchgang beheben können.
JSON-Schemas schreiben und testen
Ein minimales JSON-Schema für ein API-Benutzerobjekt könnte eine ganzzahlige "id", einen String "name" und einen String "email" der einem Muster entspricht erfordern. Beim Verfeinern des Schemas können Sie Testdokumente einfügen um zu prüfen ob sie wie erwartet bestehen oder versagen.
Das $ref-Schlüsselwort ermöglicht die Zusammensetzung komplexer Schemas aus wiederverwendbaren Definitionen. Schemas mit $defs (Draft 2020-12) oder definitions (Draft-07) werden vor der Validierung vollständig aufgelöst damit zirkuläre und Cross-Reference-Schemas korrekt funktionieren.
Bei der Entwicklung von API-Verträgen nutzen Teams JSON Schema um die Form von Anfrage- und Antwortkörpern zu dokumentieren. Der Validator ermöglicht das Einfügen einer echten API-Antwort neben dem Schema um zu bestätigen dass die API wie dokumentiert verhält.
Integration und Tooling
JSON Schema wird von wichtigen Tools verwendet darunter OpenAPI/Swagger, AsyncAPI, JSON Forms und Monaco Editors IntelliSense. Das Validieren Ihrer Schemas hier vor der Integration stellt sicher dass sie syntaktisch korrekt und logisch konsistent sind.
CI/CD-Pipelines können JSON-Schema-Validierung zur Deployment-Kontrolle nutzen: Konfigurationsdateien, API-Verträge und Datenmigrations-Dateien als Teil des Build-Prozesses validieren. Beliebte Validatoren wie Ajv (JavaScript), jsonschema (Python) und networknt/json-schema-validator (Java) sind alle kompatibel.
Data-Quality-Teams nutzen JSON Schema zur Validierung eingehender Datensätze von externen Partnern, ETL-Pipelines und Data-Warehouse-Ingestion-Jobs. Das Erkennen von Schema-Verletzungen bei der Ingestion verhindert dass korrumpierte Daten sich in nachgelagerte Systeme ausbreiten.