JSON-Schema-Generator
Erstelle automatisch ein JSON Schema (Draft-07) aus beliebigen JSON-Beispieldaten. JSON einfügen und sofort ein gültiges Schema erhalten — keine Registrierung nötig.
Einrückung:
JSON-Eingabe
Generiertes Schema
Ihr JSON Schema erscheint hier
Verwandte Tools
Über den JSON-Schema-Generator
So funktioniert es
- Gültiges JSON in das linke Panel einfügen oder eingeben
- Das Tool analysiert rekursiv jeden Schlüssel und Wert
- Typen werden abgeleitet: string, number, integer, boolean, object, array, null
- Alle vorhandenen Schlüssel werden im "required"-Array aufgelistet
- Das resultierende Draft-07-Schema wird rechts angezeigt
Häufige Anwendungsfälle
- API-Dokumentation und OpenAPI-Schemas bootstrappen
- JSON-Payloads in Backend-Diensten validieren
- TypeScript-Typen mit Tools wie json-schema-to-typescript generieren
- Strenge Datenverträge zwischen Microservices erstellen
- Konfigurationsdateiformate dokumentieren
Häufig gestellte Fragen
Was ist ein JSON Schema?
Ein JSON Schema ist ein Vokabular, das die Annotation und Validierung von JSON-Dokumenten ermöglicht. Es beschreibt Struktur, Typen und Einschränkungen Ihrer JSON-Daten und erleichtert die Eingabevalidierung, Dokumentationserstellung und den Austausch von Datenverträgen zwischen Diensten.
Welchen JSON-Schema-Entwurf erzeugt dieses Tool?
Dieses Tool generiert JSON Schema Draft-07, die am weitesten unterstützte Version. Draft-07 ist kompatibel mit der Mehrheit der Validatoren, Editoren und API-Tools, einschließlich VS Code, Postman und OpenAPI 3.x.
Wie funktioniert die Schema-Ableitung?
Das Tool untersucht jeden Wert im JSON rekursiv. Für jeden Schlüssel wird der JSON-Typ bestimmt (string, number, integer, boolean, array, object oder null), alle eindeutigen Schlüssel in Objekten werden gesammelt und als required markiert. Es werden keine Daten an einen Server gesendet.
Werden alle Schlüssel als required markiert?
Standardmäßig wird jeder im Beispiel-JSON vorhandene Schlüssel zum "required"-Array hinzugefügt. Wenn Ihre echten Daten optionale Felder haben können, entfernen Sie diese Schlüssel einfach aus dem required-Array im generierten Schema.
Was passiert mit null-Werten?
Wenn ein Wert im Beispiel-JSON null ist, generiert das Tool den Typ "null". Wenn das Feld auch andere Typen enthalten kann, ändern Sie den Typ manuell in ein Array wie ["string", "null"].
Kann ich ein Schema aus einem JSON-Array auf Root-Ebene generieren?
Ja. Wenn Ihr JSON ein Array der obersten Ebene ist, hat das generierte Schema den Typ "array" mit einem "items"-Unterschema, das aus dem ersten Element abgeleitet wird.
Werden meine JSON-Daten an einen Server gesendet?
Nein. Die gesamte Verarbeitung erfolgt vollständig in Ihrem Browser mithilfe von clientseitigem JavaScript. Ihr JSON wird niemals an unsere Server übertragen, sodass sensible Daten privat bleiben.
Kann ich das generierte Schema in OpenAPI- / Swagger-Spezifikationen verwenden?
Ja. OpenAPI 3.x verwendet eine Obermenge von JSON Schema Draft-07, sodass die Ausgabe dieses Tools direkt in den "schema"-Abschnitt einer OpenAPI-Komponente eingefügt werden kann.
Was ist, wenn mein JSON tief verschachtelte Objekte hat?
Das Tool unterstützt beliebig tief verschachtelte JSON-Strukturen vollständig. Jedes verschachtelte Objekt erhält seinen eigenen "properties"-Block mit korrekten Typannotationen.
Was ist der Unterschied zwischen "number" und "integer" im JSON Schema?
JSON Schema unterscheidet zwischen "integer" (ganze Zahlen wie 1, 42, -7) und "number" (beliebige numerische Werte einschließlich Dezimalzahlen wie 3.14). Dieses Tool verwendet automatisch "integer", wenn der Wert keinen Bruchteil hat.
Kann ich das Schema nach der Generierung anpassen?
Absolut. Die Ausgabe ist bearbeitbarer Text. Häufige Anpassungen umfassen das Hinzufügen von "description"-Feldern, das Verschärfen von String-Einschränkungen mit "minLength"/"maxLength" oder "pattern", das Hinzufügen von "enum"-Arrays und das Anpassen der "required"-Liste.
Was bewirkt die Option "additionalProperties: false"?
Wenn aktiviert, wird "additionalProperties: false" zu jedem Objekt im Schema hinzugefügt. Dies weist Validatoren an, jeden Schlüssel abzulehnen, der nicht explizit in "properties" aufgeführt ist. Nützlich für strenge API-Verträge.