Altova XMLSpy 2025 Professional Edition

Generieren eines JSON-Schemas anhand einer JSON-Instanz

Zur Startseite Zurück Nach oben Weiter

XMLSpy kann ein JSON-Schema anhand eines JSON-Instanzdokuments (bzw. eines JSON5-Instanzdokuments) generieren. Diese Funktion ist sehr nützlich, da Sie dadurch sofort ein Schema, das auf der vorhandenen JSON-Instanz basiert, zur Verfügung haben. Dadurch sparen Sie sich die Mühe, manuell ein Schema von Grund auf neu erstellen zu müssen. Sie können das generierte Schema anschließend Ihren Anforderungen entsprechend anpassen oder erweitern.

 

Generieren des JSON-Schemas

Sie können ein JSON-Schema auf folgende Arten anhand eines JSON-Instanzdokuments generieren:

 

DTD/Schema-Menü: Machen Sie das JSON-Instanzdokument zum aktiven Dokument. Wählen Sie den Menübefehl DTD/Schema | DTD/Schema generieren.

JSON-Infofenster: Machen Sie das JSON-Instanzdokument zum aktiven Dokument. Klicken Sie im Info-Fenster auf dem Register "JSON" (Abbildung unten) auf das Pfeilsymbol neben Validierung anhand von Schema und wählen Sie im daraufhin angezeigten Dropdown-Menü den Befehl JSON-Schema generieren.

JSONInfoWindow

In beiden Fällen wird das Dialogfeld "JSON-Schema generieren" angezeigt (Abbildung unten im nächsten Abschnitt). Gehen Sie folgendermaßen vor:

 

1.Bearbeiten Sie die Einstellungen nun Ihren Wünschen entsprechend (nähere Informationen siehe unten) und klicken Sie auf OK, sobald Sie damit fertig sind.

2.Sie werden aufgefordert, einen Pfad und Dateinamen für das generierte JSON-Schema anzugeben. Geben Sie diese ein.

3.Sobald Sie auf Speichern klicken, wird das JSON Schema generiert und zum aktiven Dokument.

 

Die generierte Schemadatei wird im JSON-Instanzdokument als das Schema zugewiesen, anhand dessen die Validierung durchgeführt werden soll (siehe Info-Fenster; Abbildung oben) frühere Zuweisungen werden überschrieben. Um die Zuweisung zu ändern, verwenden Sie den Befehl JSON-Schema auswählen aus dem Dropdown-Menu des Infofensters (siehe Abbildung oben). Nähere Informationen zur Valdierung von JSON-Instanzen finden Sie unter Validierung von JSON-Dokumenten.

 

Einstellungen für die Generierung eines JSON-Schemas

Im Dialogfeld "JSON-Schema generieren" (Abbildung unten) können Sie die Optionen für die Schemagenerierung definieren. Informationen dazu, wie Sie dieses Dialogfeld aufrufen, finden Sie im vorherigen Abschnitt.

JSONGenerateJSONSchemaDlg

Array Tuples ermitteln

Ein Array Tuple ist die Sequenz der Elemente in einem Array. Das folgende Array hat z.B. ein Tuple mit drei Elementen: [ 1, 2, "abc" ]. Sie können für die Validierung von Arrays im Schema definieren, ob die Reihenfolge und der Datentyp von Array (Tuple)-Elementen berücksichtigt werden soll oder nicht. Wenn die Option Array Tuples ermitteln aktiviert ist (siehe Abbildung oben), so werden die Reihenfolge und der Datentyp von Elementen ermittelt. Anhand der ermittelten Tuples wird im Schema eine entsprechende Definition erstellt. Zu dieser Einstellung gibt es die folgenden Optionen:

 

Anzahl der Tuple-Elemente: Sie können eine Mindest- und Maximalanzahl von Tuple-Elementen definieren. Wenn ein Tuple in einer Instanz eine Anzahl von Elementen im angegebenen Bereich aufweist, so wird dieses Array erkannt und definiert.

Nur einfache Typen: Bei der Erkennung werden nur Tuples mit Elementen vom einfachen Typ (die atomaren Typen String, Zahl, Ganzzahl, Boolean und Null) bei der Erkennung berücksichtigt.

Arrays mit demselben Namen: Bei der Erkennung werden nur Arrays, die als Werte von Eigenschaften mit demselben Namen definiert sind, berücksichtigt. So sind z.B. im folgenden JSON-Datenfragment die durch rot hinterlegte eckigen Klammern markierten Arrays alle Werte von Eigenschaften mit dem Namen a1 (blau angezeigt): {"object1": [ { "a1": [ 1, 2, "abc" ] },  { "a1": [ 3, 4, "def" ] }, { "a1": [ 5, 6, "ghi" ] } ] }.

Mindestanzahl von Arrays: Sie können eine Mindestanzahl von Arrays definieren, bei der die Array-Ermittlung aktiviert wird.

 

 

Andere Einstellungen

 

Reihenfolge der Objekt-Eigenschaftsnamen ignorieren: Wenn diese Option deaktiviert ist, wird die Reihenfolge der Eigenschaften eines Objekts überprüft und möglichst ähnlich wiedergegeben. Andernfalls wird die Reihenfolge nicht überprüft.

Identisches String-Format: Im Schema kann festgelegt werden, dass String-Datentypen ein bestimmtes Format haben müssen. Wenn diese Option aktiv ist, so versucht XMLSpy das String-Format zu ermitteln und eine Formatdefinition für Strings hinzuzufügen, wo dies möglich ist.

Einfache Arrays zu lokalen machen: Ein einfaches Array ist ein Array, in dem alle Elemente denselben einfachen Datentyp haben. Wenn die Option aktiv ist, werden alle einfachen Arrays lokal im Schema definiert, anstatt globale Definitionen zu verwenden, die lokal referenziert werden.

Einfache Objekte zu lokalen machen: Ein einfaches Objekt ist ein Objekt, in dem alle Eigenschaftswerte denselben einfachen Datentyp haben. Wenn die Option aktiv ist, werden alle einfachen Objekte lokal im Schema definiert, anstatt globale Definitionen zu verwenden, die lokal referenziert werden.

 

Anmerkung:Sie können lokale Definitionen einzelner Objekte und Arrays nach Erstellung des JSON-Schemas zu globalen machen und umgekehrt. Nähere Informationen dazu finden Sie im Abschnitt Globale und lokale Definitionen.

 

© 2018-2024 Altova GmbH