JSON Schema: Daten online validieren (Draft 2020-12)

JSON Schema: Daten online validieren (Draft 2020-12)

API-Payloads und Config-Dateien gegen JSON Schema prüfen — Fehler per JSON-Pointer-Pfad.

12.08.2026
10 Min. Lektüre
Teilen Sie diesen Artikel:
json-schema
validation
API
openapi
Anleitung

Warum JSON-Daten gegen ein Schema validieren?

Gültiges JSON ist nicht dasselbe wie gültig für Ihre API. Ein Payload kann perfekt parsen, aber ein Pflichtfeld fehlen, der falsche Typ geliefert werden oder eine format-Constraint verletzen — und diese Bugs tauchen oft erst in Integrationstests oder Produktion auf. JSON Schema beantwortet eine andere Frage als Syntaxprüfung: entspricht diese Instanz dem Vertrag? Der Online-JSON-Schema-Validator von FastMinify führt Draft-07- und 2020-12-Validierung in dualen Monaco-Editoren (Schema + Instanz) vollständig im Browser aus. Kombinieren Sie ihn mit dem JSON-Validator bei Syntaxverdacht und mit validate-openapi, wenn der Vertrag in OpenAPI liegt. Erkunden Sie den API-Tools-Hub für Schema-Konvertierung und OpenAPI-Linting.

Schema vs. Syntax: fehlende Pflichtfelder und Typfehler nach erfolgreichem JSON-Parse erkennen
Draft-07 und 2020-12 via Ajv — instancePath / Keyword-Fehler pro Verletzung
Dual-Editoren mit Live-Debounce (~300 ms) — ohne Installation oder Account
Optionaler Strict-Modus für Schema-Review (Ajv strict: true bei Compile)
100 % lokal — Schema und Payloads verlassen den Browser nie

Ehrliche Grenzen und wartbare Schemas

Was der Browser-Validator nicht tut

Grün bedeutet: Instanz matched das eingefügte Schema — nicht dass die gesamte API-Plattform compliant ist.

Kein Netzwerk-Fetch — externe und https:// $ref werden nie aufgelöst
Kein Multi-File-Bundle — self-contained Schema-JSON pro Run einfügen
Kein OpenAPI-Path-Operation-Lint — lint-openapi für operationId und Tags
Kein Live-Endpoint-Probing — Instanz muss explizit eingefügt werden
Draft-04/06/2019-09 Schemas abgelehnt — Drafts zuerst migrieren
Schema-Design-Tipps

Schemas die im Browser sauber validieren überleben CI und SDK-Generierung besser.

Immer $schema in geteilten Dateien setzen — implizite 2020-12-Annahmen vermeiden
additionalProperties: false nur bei bewusst geschlossenen Objekten
examples in OpenAPI nutzen und in Reviews als Validator-Instanzen einfügen
Enums mit Code alignen — deprecated Werte in description dokumentieren
Breaking Schema-Changes versionieren — Consumers validieren gegen Ziel-Schema-Tag
Wann auf CI-Tooling eskalieren

Browser-Checks sparen Pipeline-Minuten; Org-Policy bleibt in CI.

Ajv oder jsonschema in GitHub Actions / GitLab CI auf jedem PR
Breaking-Change-Detektoren zwischen Schema-Versionen
Pact oder Contract-Tests gegen Live-Umgebungen
Schema-Registries (Apicurio, Buf) für Multi-Team-Governance
Mit unserem CI/CD-Leitfaden kombinieren

JSON-Syntax vs. JSON-Schema-Validierung

Zwei Validatoren, zwei Fragen

Wechseln Sie nicht mitten im Debug — jedes Tool zielt auf einen anderen Fehlertyp.

JSON-Validator (json-validator): nur Syntax — trailing commas, Single Quotes, abgeschnittenes Paste
JSON-Schema-Validator (json-schema-validator): semantischer Vertrag — Typen, required, enums, formats
Syntax grün + Schema rot = Vertragsverletzung, kein Parse-Fehler
Defektes JSON zuerst mit json-repair reparieren
OpenAPI-Dokumentvalidierung ist eine dritte Absicht — validate-openapi für die Spec-Hülle
Unterstützte Drafts (und Ablehnungen)

FastMinify erkennt den Draft aus $schema wenn vorhanden; ohne $schema Default 2020-12.

Draft 2020-12https://json-schema.org/draft/2020-12/schema
Draft-07http://json-schema.org/draft-07/schema#
Draft-04, Draft-06 und 2019-09 → klare unsupported-draft-Fehler — keine stille Umwandlung
Draft in geteilten Schemas explizit setzen — Team-Drift vermeiden
OpenAPI 3.1 aligniert mit 2020-12; OpenAPI 3.0 nutzt oft Draft-07 in components.schemas
instancePath und Keyword-Fehler

Bei Validierungsfehlern zeigt Ajv, wo die Instanz das Schema verletzt — essentiell für große API-Payloads.

instancePath zeigt auf den fehlerhaften Wert (JSON-Pointer-Stil)
Keyword-Name zeigt die fehlgeschlagene Regel (required, type, format, …)
Mehrere Verletzungen separat — nach Business-Priorität fixen
Leere Instanz mit required-Schema → Pfad / oder fehlende Properties
json-tree-viewer für tiefe Payload-Navigation

JSON gegen Schema validieren: Schritt für Schritt

Den JSON-Schema-Validator nutzen

Der JSON-Schema-Validator bietet zwei Editoren: Schema und Instanz. JSON in jedes Feld einfügen — kein YAML im Schema-Editor (nur JSON). Max 512 KiB pro Feld.

Live-Validierung nach Debounce (~300 ms) wenn beide Seiten parsen
Ergebnis-Panel: gültig / ungültig, Verletzungszähler, erkannter Draft
Pro Fehler: instancePath, Keyword, Message
Kopieren und Expand (⌘⇧E) auf jedem Editor-Pane
Strict-Toggle — standardmäßig aus; für CI-Style Schema-Lint aktivieren
Strict-Modus: wann aktivieren

Strict schaltet Ajv strict: true bei Schema-Compile ein — unbekannte Keywords und non-strict Muster scheitern vor Instanz-Validierung.

Aus (Default): pragmatisches Debug von Real-World-Schemas mit Extra-Keys
An: Schema-Review vor Registry- oder OpenAPI-<code>components.schemas</code>-Publish
Strict-Compile-Fehler im Ergebnis-Panel — Schema fixen, Instanz erneut testen
Strict mit <a href="/de/format-openapi" class="text-primary hover:underline">format-openapi</a> für eingebettete Schemas kombinieren
Kein Ersatz für org-weite Spectral- oder Custom-Vocabulary-Governance
Szenario — API-Response scheitert in Staging

Mobile Client crasht auf neue Feldform — Response ist gültiges JSON, bricht aber das veröffentlichte Schema.

1

Schritt 1: JSON-Syntax bestätigen

Response in json-validator einfügen. Bei Syntaxfehler zuerst reparieren.

2

Schritt 2: Schema und Instanz einfügen

json-schema-validator öffnen. Kanonisches Schema (OpenAPI-Export oder Registry) und Staging-Response einfügen.

3

Schritt 3: instancePath-Fehler lesen

API fixen oder Schema mit Deprecation-Plan updaten. Nach Deploy erneut validieren. Optional diff Staging vs. Produktion.

Szenario — Config vor kubectl apply

Team teilt JSON-Config validiert in CI — schneller lokaler Check ohne Pipeline-Clone.

1

Schritt 1: Schema aus Repo laden

Schema-JSON kopieren (self-contained — externe $ref werden im Browser nicht aufgelöst).

2

Schritt 2: Ihre Änderung validieren

Bearbeitete Config als Instanz einfügen. Strict aktivieren wenn Schema für strenge Review geschrieben.

3

Schritt 3: Mit YAML-Tool chainen falls nötig

Configs oft als YAML — mit yaml-to-json konvertieren, Syntax prüfen, dann Schema auf JSON-Instanz.

OpenAPI, components.schemas und Konvertierung

Wo Schemas in API-Verträgen leben

REST-Teams publizieren oft in OpenAPI components.schemas, Registries speichern Standalone-Dateien — der Validator akzeptiert beides als extrahiertes JSON. Workflow: validate-openapi (Spec-Hülle) → Schema extrahieren → json-schema-validator (Payload vs. Schema). Siehe unseren OpenAPI-Validierungsleitfaden und Lint- & Format-Leitfaden für die Spec-Seite.

Zwischen OpenAPI und JSON Schema konvertieren

Wenn die Quelle die OpenAPI-Datei ist, Formate im Hub ohne lokale CLI pivotieren: openapi-to-json-schema extrahiert ein Schema aus OpenAPI-Components; json-schema-to-openapi wrappt ein Standalone-Schema für Portal-Import.

Contract-Testing-Mindset

Browser-Validierung beschleunigt Feedback; CI hält Regression-Suites. Repräsentative Instanzen einfügen — Happy Path, Null-Grenzen, Enum-Bounds. Draft in $schema neben jedem geteilten Schema-File in git dokumentieren.

Häufige Validierungsfehler

Typische Instanz-Fehler

Diese tauchen ständig in Support-Tickets und flaky CI-Jobs auf.

Fehlende required-Property — instancePath auf Parent oder /
Falscher type — String statt Integer (häufig nach Form-Serialisierung)
additionalProperties: false — Extra-Felder nach API-Versionierungsfehlern
format-Verletzungen — date-time, email, uuid (via ajv-formats)
enum-Mismatch — undocumented Status-Codes oder Regionen im Payload
Typische Schema-Compile-Fehler

Strict-Modus und unsupported Drafts erscheinen hier vor Instanz-Validierung.

Unsupported $schema-URL — auf Draft-07 oder 2020-12 migrieren
Externe $ref — Hard Error; refs lokal inline oder bundeln
YAML im Schema-Editor — zu JSON konvertieren oder nur JSON einfügen
Schema > 512 KiB — splitten oder CI-Bundler nutzen
Unbekannte Keywords unter Strict — entfernen oder per Org-Policy verschieben

Fazit

JSON-Schema-Validierung schließt die Lücke zwischen parseablem JSON und vertrauenswürdigen API-Daten. Bei Bedarf zuerst Syntax, dann Instanzen gegen Draft-07- oder 2020-12-Schemas mit klaren instancePath-Fehlern — lokal vor CI. Schemas aus OpenAPI extrahieren wenn Verträge in Specs leben, und Browser-Checks ehrlich halten zu refs, Drafts und Größenlimits.

Syntax zuerst mit json-validator — Schema-Validierung danach
$schema in jedem geteilten Schema-File explizit setzen
Strict für Schema-Review vor Merge, nicht für loose Payload-Debug
Externe $ref lokal bundeln — Browser-Tool fetcht nie URLs
Mit openapi-to-json-schema chainen wenn Quelle eine OpenAPI-Datei ist
Teilen Sie diesen Artikel
Teilen Sie diesen Artikel: