Was ist JSON Schema?
JSON Schema ist ein Standard zur Beschreibung der erwarteten Struktur eines JSON-Dokuments. Sieh es als Typsystem für deine Daten: Es definiert, welche Felder existieren sollten, welchen Typ jedes Feld haben sollte und welche Felder Pflicht sind. Wenn Daten an deiner API ankommen, prüfst du sie gegen das Schema – und weist alles zurück, was nicht passt, bevor es deine Anwendungslogik erreicht.
{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]}
Warum JSON Schema nutzen?
Ohne Schema-Validierung verursacht ein fehlendes Pflichtfeld einen Fehler tief in deiner Anwendungslogik – manchmal Stunden, nachdem die fehlerhaften Daten eingetroffen sind. Mit Schema-Validierung wird das Problem sofort an der Grenze abgefangen, wo Daten in dein System gelangen, mit einer klaren Fehlermeldung, die genau auf das falsche Feld zeigt.
Ein Schema automatisch aus einem Beispiel generieren
Du musst Schemas nicht von Hand schreiben. Füge eine echte JSON-Antwort oder ein Datenbeispiel in unseren JSON-Schema-Generator ein, und er erzeugt in Sekunden ein Draft-07-Schema mit korrekten Typen und Pflichtfeldern.
Daten gegen ein Schema validieren
Sobald du ein Schema hast, nutze unseren JSON-Schema-Validator, um jedes JSON-Dokument dagegen zu prüfen. Jede Verletzung wird mit ihrem exakten Pfad im Dokument gemeldet, sodass du genau weißt, was behoben werden muss.
Vom Schema zu TypeScript
Wenn du mit TypeScript arbeitest, generiert unser JSON-zu-TypeScript-Tool passende Interfaces aus demselben JSON-Beispiel und gibt dir Typsicherheit zur Compile-Zeit als Ergänzung zur Schema-Validierung zur Laufzeit.
Häufige Fragen
- Welche JSON-Schema-Version sollte ich nutzen?
- Draft-07 ist die am weitesten unterstützte Version und deckt alle gängigen Anwendungsfälle ab. Unsere Tools generieren Draft-07-Schemas. Draft 2019-09 und 2020-12 fügen Funktionen hinzu, die vor allem für fortgeschrittene Validierungsszenarien relevant sind.
- Kann JSON Schema verschachtelte Objekte validieren?
- Ja – JSON Schema unterstützt verschachtelte Validierung vollständig. Du kannst Schemas für verschachtelte Objekte mit
propertiesdefinieren, wiederverwendbare Definitionen erstellen undanyOfoderoneOffür Werte nutzen, die mehr als eine gültige Form haben können. - Ist JSON Schema nur für APIs nützlich?
- Keineswegs. JSON Schema ist genauso nützlich zum Validieren von Konfigurationsdateien, Datenbankdokumenten, Formularübermittlungen und allen anderen strukturierten Daten, die deine Anwendung verarbeitet.