So erstellen Sie ein JSON Schema
- Fügen Sie ein repräsentatives JSON-Beispiel ein. Arrays mit mehreren Einträgen liefern die besten Ergebnisse, weil ihre Einträge zu einem Schema zusammengeführt werden.
- Wählen Sie die Schema-Version (Draft 2020-12 oder Draft-07) und legen Sie fest, ob Eigenschaften als erforderlich markiert, Formate erkannt und zusätzliche Eigenschaften verboten werden sollen.
- Kopieren Sie das Schema oder laden Sie es herunter und verfeinern Sie es dann von Hand – ergänzen Sie zum Beispiel Beschreibungen, Enums oder Minimal- und Maximalwerte.
Was der Generator ableitet
| JSON-Beispiel | Schema |
|---|---|
"ada@example.com" | {"type": "string", "format": "email"} |
"2026-05-01T10:00:00Z" | Format date-time (außerdem date, time, uri, uuid, ipv4) |
42 / 4.5 | "integer" / "number" |
| ein Schlüssel, der in jedem Objekt vorkommt | wird in required aufgeführt |
| ein Schlüssel, der in manchen Array-Einträgen fehlt | optional (nicht in required) |
[1, "a", null] | "items": {"type": ["string", "integer", "null"]} |
| Objekte gemischt mit einfachen Werten | anyOf mit einem Schema pro Art |
Was ist JSON Schema?
JSON Schema ist ein Vokabular, mit dem sich die Struktur von JSON-Daten beschreiben und validieren lässt: welche Eigenschaften es gibt, welchen Typ jede hat, welche erforderlich sind und welche Werte erlaubt sind. Es wird für API-Verträge in OpenAPI, Konfigurationsdateien, die Generierung von Formularen und die Validierung strukturierter Ausgaben von KI-Modellen eingesetzt. Die aktuelle Version ist 2020-12; Draft-07 wird von vielen älteren Tools weiterhin unterstützt. Die Spezifikation ist auf json-schema.org veröffentlicht.
Das generierte Schema verfeinern
- Ergänzen Sie
titleunddescription, um die Bedeutung jedes Felds zu dokumentieren. - Schränken Sie Werte mit
enum,minimum,maximum,maxLengthoderpatternein. - Aktivieren Sie Zusätzliche Eigenschaften verbieten (
additionalProperties: false), um unbekannte Schlüssel abzulehnen. - Validieren Sie Daten mit Ajv in JavaScript oder dem Paket
jsonschemain Python.
Häufig gestellte Fragen
Welche JSON-Schema-Version sollte ich verwenden?
Nehmen Sie für neue Projekte Draft 2020-12 – das ist die aktuelle Version und die Grundlage von OpenAPI 3.1. Wählen Sie Draft-07, wenn Ihr Validator oder Ihre Tools 2020-12 noch nicht unterstützen.
Warum sind alle meine Eigenschaften erforderlich?
Bei einem einzelnen Beispielobjekt ist jede Eigenschaft vorhanden, daher werden alle als erforderlich markiert. Verwenden Sie ein Array mit mehreren unterschiedlichen Beispielen oder deaktivieren Sie Eigenschaften als erforderlich (required) markieren.
Kann der Generator Enums oder Wertebereiche erkennen?
Nein. Ein einzelnes Beispiel kann nicht zeigen, welche Werte allgemein erlaubt sind – Enums, Minimal- und Maximalwerte sowie Patterns müssen Sie daher von Hand ergänzen.
Wie validiere ich JSON gegen das Schema?
Verwenden Sie eine Validator-Bibliothek wie Ajv für JavaScript oder jsonschema für Python. Viele Code-Editoren validieren eine JSON-Datei außerdem gegen das Schema, das in ihrer Eigenschaft $schema referenziert ist.