Wissen · JSON Schema 2020-12
Alles zu JSON-Validation
12 Ratgeber zu den wichtigsten Schema- und Validation-Themen: von Syntax-Check bis Tagged Unions.
Grundlagen
2 ArtikelJSON-Validation: vom Syntax-Check zum Schema-Vertrag
Zwei Stufen: Syntax-Validation prüft ob JSON.parse durchläuft. Schema-Validation prüft Struktur, Typen, Pflichtfelder. Wann welche Stufe wichtig ist.
Parsing ist nicht Validation: was JSON.parse leistet (und was nicht)
JSON.parse wirft bei kaputter Syntax. Schema-Validation prüft danach: gibt es das Pflichtfeld user_id? Ist die E-Mail gültig? Ist das Array nicht leer?
JSON-Schema-Konstrukte
6 ArtikelJSON Schema: das Vertragsformat für deine API-Payloads
JSON Schema ist selbst JSON. Aufbau, $schema-Header, Type-System (string, number, object, array), Pflichtfelder und Constraints im Überblick.
Welche JSON-Schema-Draft-Version soll ich nutzen?
Default für neue Projekte: Draft 2020-12. OpenAPI 3.1 ist mit 2020-12 kompatibel. Draft 07 noch dominant in der Praxis, sollte aber nicht neu gewählt werden.
JSON-Schema-Basics: type, properties und required richtig nutzen
type definiert primitive Typen. properties beschreibt Objekt-Felder. required listet Pflichtfelder. additionalProperties muss explizit gesetzt werden.
Konditionelle Validation in JSON Schema: if/then/else verständlich erklärt
if/then/else seit Draft 07. Klassischer Use-Case: tagged unions. dependentSchemas als alternative Schreibweise für einfache Pflichtfeld-Logik.
Schema-Komposition: allOf, anyOf, oneOf - wann was?
allOf: alle müssen passen. anyOf: mindestens einer. oneOf: genau einer. Performance-Unterschiede und discriminator-Pattern zur Optimierung.
Rekursive JSON-Schemas mit $ref: Tree-Strukturen sauber validieren
$defs für lokale Definitionen, $ref für die Referenzen. JSON-Pointer-Syntax #/$defs/node. recursive-Ref-Resolution und Performance-Tipps.
Validation & Libraries
2 ArtikelAjv, Zod oder Yup: welche Validation-Library für dein Projekt?
Ajv für Standard-Compliance + Maximum Performance. Zod für TS-Apps mit Type-Inference. Yup für klassische Formular-Validierung mit YAML-artiger DSL.
JSON-Schema-format: die wichtigsten Built-in-Formate
format ist optional im Standard. Ajv-formats-Package nötig. date-time nach RFC 3339, email mit Vorsicht (kein vollständiger RFC 5322).
Integration & Build
2 ArtikelOpenAPI und JSON Schema: wie sie zusammenhängen
OpenAPI 3.0 hatte einen JSON-Schema-Subset. OpenAPI 3.1 ist Draft-2020-12-kompatibel. Migration und Tooling-Status im Überblick.
JSON-Validation in CI/CD: Schema-Checks vor jedem Deploy
Pre-Commit: husky + lint-staged + ajv validate. Build-Step: ajv-cli compile. Vitest: Schema-Tests pro Endpoint, fail-fast bei Drift.