Nutzen Sie diesen Online-JSON-Schema-Generator, um aus JSON-Beispieldaten Schema-Definitionen für Validierung, Dokumentation und API-Verträge zu erstellen.
Schritt 1 – JSON-Beispiel bereitstellen
- Fügen Sie ein repräsentatives JSON-Objekt oder Array in den linken Editor ein.
- Verwenden Sie möglichst echte Produktionsdaten, damit das Schema Ihre Struktur korrekt abbildet.
- Fügen Sie Beispiele für alle möglichen Feldwerte und verschachtelten Strukturen hinzu.
Schritt 2 – Generiertes Schema prüfen
- Rechts erscheint das Schema mit inferierten Typen, Pflichtfeldern und Strukturdefinitionen.
- Prüfen Sie Array-Items, verschachtelte Objekte und Property-Typen.
- Verifizieren Sie, dass optional vs. required korrekt erkannt wurde.
Schritt 3 – Schema anpassen (optional)
- Kopieren Sie das Schema und ergänzen Sie eigene Validierungsregeln, Beschreibungen oder Constraints.
- Fügen Sie
enum Werte und Constraints hinzu, minLength/maxLength, oder pattern Regex nach Bedarf. - Definieren Sie
oneOf oder anyOf für Union-Typen.
Schritt 4 – Schema verwenden
- Laden Sie das Schema herunter oder kopieren Sie es für JSON-Validatoren, API-Doku-Tools oder Code-Generatoren.
- Integrieren Sie es z. B. mit Ajv (JavaScript), jsonschema (Python) oder ähnlichen Libraries.
- Referenzieren Sie das Schema in OpenAPI/Swagger oder nutzen Sie es für type-safe Code-Generierung.
Kurztipps für die Schema-Generierung
- Validieren Sie das generierte Schema vor dem Produktionseinsatz mit einem JSON-Validator oder Ihrer Runtime-Library.
- Nutzen Sie realistische Beispieldaten, damit der Generator Typen und required properties korrekt ableiten kann.
- Halten Sie pro Payload (z. B. API request/response) ein kanonisches Schema, um Drift zwischen Umgebungen zu vermeiden.
Hinweis zum Keyword-Support
Wenn Sie fortgeschrittene Keywords wie $ref, anyOf, oneOf, oder allOfhinzufügen, validieren Sie mit einem vollständigen JSON-Schema-Validator (z. B. Ajv) und erwägen Sie ein Dereferencing vor der Mock-Generierung.
Beispiel: JSON → JSON Schema
// JSON input
{
"id": 1,
"name": "Maeve Winters",
"email": "[email protected]",
"active": true,
"tags": ["developer", "backend"]
}
// Generated JSON Schema (simplified)
{
"type": "object",
"properties": {
"id": { "type": "number" },
"name": { "type": "string" },
"email": { "type": "string" },
"active": { "type": "boolean" },
"tags": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["id", "name", "email", "active", "tags"]
}