JSON Schema generieren
Generate a JSON Schema from sample JSON, inferring nested objects and array item types.
Aus JSON-Daten automatisch ein JSON Schema generieren
Was ist JSON Schema?
JSON Schema ist eine Spezifikation, mit der sich Struktur, Datentypen und Einschränkungen von JSON-Daten in JSON beschreiben lassen. Es kann zur Validierung von API-Parametern, Prüfung von Konfigurationsdateien, Datenvalidierung und Beschreibung von Strukturen in API-Dokumentationen verwendet werden. Dieses Tool analysiert vorhandene JSON-Daten und erzeugt daraus automatisch ein JSON Schema als Ausgangspunkt.
Wie wird aus JSON ein Schema erzeugt?
Füge JSON-Daten in das Eingabefeld ein oder lade eine lokale JSON-Datei hoch. Wähle anschließend die gewünschte Schema-Version und die Feldoptionen aus und starte die Generierung. Das Tool erkennt Objekte, Arrays, Strings, Zahlen, boolesche Werte und null und erzeugt anhand der tatsächlichen Verschachtelung die entsprechende Schema-Struktur.
Was ist der Unterschied zwischen Draft 2020-12 und Draft-07?
Draft 2020-12 und Draft-07 sind unterschiedliche Versionen der JSON-Schema-Spezifikation. Bei der Generierung sollte die Version gewählt werden, die vom Ziel-Validator, Framework oder bestehenden Projekt-Schema verwendet wird. Wenn keine bestimmte Version vorgeschrieben ist, kann zunächst Draft 2020-12 verwendet und anschließend an die tatsächliche Laufzeitumgebung angepasst werden.
Warum werden Felder als required markiert?
Wenn „Alle Felder als required“ aktiviert ist, werden die Felder jedes JSON-Objekts in das required-Array aufgenommen. Dadurch müssen diese Eigenschaften bei der Validierung vorhanden sein. Wenn die Option deaktiviert ist, werden Felder nicht automatisch zu required hinzugefügt. Wichtig: required bestimmt nur, ob ein Feld vorhanden sein muss, nicht ob sein Wert leer sein darf.
Was ist additionalProperties?
additionalProperties steuert, ob ein Objekt Eigenschaften enthalten darf, die im Schema nicht definiert sind. Wenn zusätzliche Eigenschaften erlaubt sind, kann das Eingabeobjekt weitere, nicht aufgelistete Felder enthalten. Wenn sie verboten sind, gelten solche zusätzlichen Felder bei der Validierung als nicht zulässig. Bei der Schema-Generierung kann anhand der Anforderungen der API entschieden werden, wie streng die Feldstruktur kontrolliert werden soll.
Wie werden verschachtelte Objekte und Arrays generiert?
Bei verschachtelten Objekten erzeugt das Tool weiterhin entsprechende properties-Strukturen. Bei Arrays wird anhand der Elemente eine items-Definition erzeugt. Arrays mit Objekten werden ebenfalls rekursiv analysiert, sodass aus realen JSON-Beispielen schnell ein relativ vollständiges Struktur-Schema erstellt werden kann.
Warum ist das generierte Schema nur eine Ausgangsbasis?
Die automatische Generierung kann nur anhand des aktuellen JSON-Beispiels auf die Struktur schließen und kennt nicht automatisch alle fachlichen Regeln. Ein Feld, das aktuell eine Zahl enthält, muss beispielsweise nicht immer auf einen bestimmten Wertebereich beschränkt sein. Ein Feld, das im Beispiel vorhanden ist, muss fachlich auch nicht zwingend erforderlich sein. Nach der Generierung sollte das Schema deshalb entsprechend den tatsächlichen Geschäftsregeln um Formatvorgaben, Wertebereiche, Enumerationen und Feldbeschreibungen ergänzt werden.
Wie generiert man ein Schema für eine lokale JSON-Datei?
Wechsle zum Datei-Upload-Tab und ziehe eine JSON-Datei in den Upload-Bereich oder wähle sie lokal aus. Die Datei wird direkt im Browser gelesen und geparst. Das generierte Schema wird anschließend auf der Seite angezeigt, ohne dass die JSON-Datei an den Server gesendet werden muss. Das Ergebnis kann kopiert oder heruntergeladen und anschließend für API-Validierung oder Projektkonfiguration verwendet werden.
Wie verwendet man das generierte Schema?
Das erzeugte Schema kann als JSON-Datei gespeichert und an einen Validator übergeben werden, der JSON Schema unterstützt. Bei der Integration in ein Projekt sollte geprüft werden, welche Draft-Version verwendet wird und welche Schlüsselwörter der konkrete Validator unterstützt. Wenn geprüft werden soll, ob ein bestimmtes JSON einem Schema entspricht, kann anschließend das Tool zur JSON-Schema-Validierung verwendet werden.
Wie generiert man automatisch ein JSON Schema aus JSON?
Füge JSON-Daten in das Tool ein, wähle die gewünschte JSON-Schema-Draft-Version sowie Optionen für required und additionalProperties. Anschließend erzeugt das Tool anhand der tatsächlichen JSON-Struktur automatisch ein Schema.
Das Ergebnis eignet sich als Ausgangspunkt für API-Validierung, Datenprüfung oder Projektkonfiguration. Vor dem produktiven Einsatz sollten anhand der fachlichen Anforderungen noch Formate, Wertebereiche, Enumerationen und weitere Einschränkungen ergänzt werden.
- Aus JSON-Daten werden automatisch Objekte, Arrays, Strings, Zahlen, boolesche Werte und null erkannt
- Verschachtelte Objekte und Arrays werden als properties- und items-Strukturen in das Schema übernommen
- Unterstützt JSON Schema Draft 2020-12 und Draft-07
- Es kann festgelegt werden, ob alle Felder der Eingabeobjekte als required markiert werden
- Es kann festgelegt werden, ob zusätzliche, im Schema nicht definierte Eigenschaften erlaubt sind
- Die gesamte Verarbeitung erfolgt lokal im Browser, Eingaben werden nicht auf den Server hochgeladen