JSON-Schema aus Beispieldaten generieren
Fügen Sie gültige JSON-Beispieldaten ein und starten Sie die Generierung, um daraus eine JSON-Schema-Darstellung zu erhalten. Ein Titel ist optional; ein leeres Titelfeld verwendet „Generated Schema“. Beide Angaben werden nur verarbeitet, wenn nutzbare Beispieldaten vorhanden sind.
JSON-Beispieldaten als Ausgangspunkt
Der Schema-Generator erstellt aus JSON-Beispieldaten eine JSON-Schema-Darstellung. Das passt, wenn Sie die beobachtete Form eines Objekts, Arrays oder einzelnen Werts übersichtlich beschreiben möchten. Die Eingabe bleibt dabei der Ausgangspunkt: Felder, Datentypen und bestimmte Zeichenfolgenformate werden anhand des gelieferten JSON erkannt. Ein optionaler Titel hilft, die erzeugte Darstellung bei mehreren Arbeitsschritten auseinanderzuhalten. Für ein brauchbares Ergebnis sollten Sie daher ein in sich stimmiges Beispiel vorbereiten, das die Struktur zeigt, die Sie beschreiben möchten. Die Ausgabe ist keine automatische Ergänzung zu Regeln, die im Beispiel nicht vorkommen. Entscheidend ist außerdem, dass der eingefügte Inhalt als JSON gelesen werden kann und nicht nur ähnlich wie JSON aussieht. Auch ein einzelner Wert kann als Ausgangspunkt dienen, wenn kein Objekt oder Array benötigt wird. So lässt sich die Eingabe auf den konkreten Zweck des gewünschten Ergebnisses abstimmen. Beachten Sie zudem, dass der Titel nicht erforderlich ist, um die Darstellung zu erzeugen.
Schema aus JSON erzeugen
-
Öffnen Sie das Werkzeug und fügen Sie die JSON-Beispieldaten in das dafür vorgesehene Eingabefeld ein. Verwenden Sie beispielsweise
{"name":"Ada","alter":36}, ein Array wie[1,2,3]oder einen einzelnen JSON-Wert. -
Ergänzen Sie im optionalen Titelfeld eine eigene Bezeichnung, wenn Sie das Ergebnis näher benennen möchten. Bleibt dieses Feld leer, verwendet das Werkzeug den Standardtitel „Generated Schema“.
-
Prüfen Sie, ob die Daten im primären Feld stehen. Ist dieses Feld leer, kann ersatzweise der erste geeignete Wert aus einem unterstützten alternativen Feld verwendet werden. Verlassen Sie sich dabei nicht auf einen beliebigen Text, sondern stellen Sie sicher, dass tatsächlich JSON-Inhalt vorhanden ist.
-
Starten Sie die Generierung. Das Werkzeug verarbeitet nur syntaktisch gültige JSON-Daten; fehlende Anführungszeichen, zusätzliche Kommata oder nicht geschlossene Klammern führen zur Ablehnung. Ohne nutzbare Beispieldaten entsteht ebenfalls keine Ausgabe.
-
Kontrollieren Sie vor dem Start auch die Größe der ausgewählten Eingabe. Überschreitet ihre UTF-8-Kodierung 1.000.000 Byte, wird sie abgelehnt. Bei erfolgreicher Verarbeitung erhalten Sie eine aus dem gelesenen JSON-Wert abgeleitete JSON-Schema-Darstellung.
-
Lesen Sie anschließend die beschriebenen Felder, Elemente oder Werttypen gegen Ihr Beispiel. So erkennen Sie, ob das Ergebnis die gezeigte Struktur passend wiedergibt und ob Sie für den gewünschten Zweck weitere Beispieldaten benötigen.
Das Ergebnis richtig einordnen
Bei einem JSON-Objekt erscheint ein Objekttyp mit einer eigenen Beschreibung für jedes beobachtete Mitglied. Die vorhandenen Mitgliedsnamen werden als erforderlich aufgeführt, und zusätzliche Eigenschaften sind in dieser Darstellung nicht zugelassen. Das Ergebnis bezieht sich damit auf die Struktur, die Ihr Beispiel tatsächlich zeigt.
Ein JSON-Array wird als Array beschrieben. Bei einem leeren Array bleibt die Beschreibung seiner Elemente unbeschränkt, weil dafür kein Elementbeispiel vorliegt. Enthält ein Array verschiedene Elementstrukturen, verbindet die Ausgabe die unterschiedlichen Beschreibungen nach dem Entfernen doppelter Varianten mit anyOf.
Primitive JSON-Werte erhalten passende Typen: null für Null, boolean für Wahrheitswerte, integer für Ganzzahlen und number für Gleitkommazahlen. Zeichenfolgen werden als string eingeordnet und können bei passenden Mustern zusätzlich ein Format wie email, uuid, uri, ipv4, date-time, date oder time erhalten. Die Darstellung enthält außerdem den Bezeichner für JSON Schema Draft 7. Nicht sichtbare fachliche Vorgaben, etwa besondere Wertebereiche oder Beziehungen zwischen Feldern, werden aus einem einzelnen Beispiel nicht automatisch ergänzt. Ein Ergebnis mit mehreren Varianten zeigt deshalb beobachtete Formen, nicht zwingend sämtliche Formen, die Ihre späteren Daten annehmen können.
Praktisches Beispiel
Sie möchten die Struktur eines kleinen Profildatensatzes aus einem konkreten JSON-Objekt ableiten und die beiden sichtbaren Felder im Ergebnis wiederfinden.
Geben Sie {"name":"Ada","alter":36} als Beispieldaten ein und starten Sie die Generierung. Ein eigener Titel kann dabei leer bleiben oder ergänzt werden, ohne die Form der Beispieldaten zu verändern. Danach prüfen Sie die Objektbeschreibung und die beiden beobachteten Mitgliedsnamen.
Die Ausgabe hat die Form eines Objekttyps mit den beobachteten Mitgliedern name und alter; beide Namen werden als erforderlich aufgeführt, zusätzliche Eigenschaften sind nicht zugelassen.
Einschränkungen
- Die Darstellung beschreibt beobachtete Felder, Array-Varianten und passende Zeichenfolgenformate; fachliche Einschränkungen ohne sichtbares Beispiel werden nicht automatisch abgeleitet.
Häufige Fehler
- Ein Syntaxfehler oder fehlender nutzbarer Inhalt verhindert die Ausgabe. Prüfen Sie Anführungszeichen, Kommata und Klammern und fügen Sie anschließend gültige Beispieldaten in ein vorgesehenes Eingabefeld ein.
Häufige Fragen
Kann ich ein JSON-Objekt in ein Schema umwandeln?
Wenn das Beispiel gültiges JSON und nutzbare Daten enthält, wird das Objekt als Objekttyp mit Beschreibungen seiner beobachteten Mitglieder dargestellt. Diese Mitgliedsnamen erscheinen als erforderlich, während zusätzliche Eigenschaften nicht zugelassen sind.
Muss ich einen Titel eingeben?
Nein, ein Titel muss nicht eingetragen werden. Bei einem leeren Titelfeld setzt das Werkzeug automatisch „Generated Schema“ als Titel für die erzeugte Darstellung ein. Das ändert nichts an der JSON-Eingabe.
Was passiert, wenn das Feld für die Beispieldaten leer ist?
Wenn das primäre Feld leer ist, kann ein geeigneter Wert aus einem unterstützten alternativen Feld herangezogen werden. Fehlt dort ebenfalls nutzbarer Inhalt, endet die Verarbeitung ohne erzeugte Darstellung.