Objekte und Abhängigkeiten

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Benutzerhandbuch und Referenz > JSON, JSON-Schema > JSON-Schema-Ansicht >

Objekte und Abhängigkeiten

Sie können innerhalb der Definition eines Objekts definieren, dass eine bestimmte Eigenschaft nur dann vorhanden sein soll, wenn eine andere Eigenschaft vorhanden ist. Die erste Eigenschaft ist von der zweiten Eigenschaft abhängig. Betrachten wir das folgenden Szenario, das eine Abhängigkeit enthält. Ein Objekt (geben wir ihm den Namen member) hat eine Eigenschaft namens credit_card, die als optional definiert ist. Die Eigenschaft billing_address des Objekts kann von der Eigenschaft credit_card abhängig gemacht werden: Nur wenn die Eigenschaft credit_card vorhanden ist, ist auch die Eigenschaft billing_address vorhanden.

 

Diese Art von Abhängigkeit kann auf eine dieser beiden Arten definiert werden:

 

als Eigenschaftsabhängigkeit (bei der abhängigen Struktur handelt es sich um eine Eigenschaft)
als Schemaabhängigkeit (bei der abhängigen Struktur handelt es sich um ein Schema)

 

Eigenschaftsabhängigkeiten

In der Abbildung unten sehen Sie ein Objekt mit einer Eigenschaft name (obligatorisch), einer Eigenschaft credit_card (optional) und einer Eigenschaft billing_address (abhängig). Die Eigenschaft billing_address ist von der Eigenschaft credit_card abhängig. Unterhalb der Abbildung sehen Sie das Codefragment dieser JSON-Objektdefinition. Weiter unten erfahren Sie, wie Sie eine Eigenschaftsabhängigkeit erstellen.

JSONPropDependencies01

Click to expand/collapseCodefragment eines JSON-Objekts mit einer Eigenschaftsabhängigkeit

{

   "type": "object",

   "properties": {

      "name": {

      "type": "string"

      },

      "credit_card": {

         "type": "number"

      },

      "billing_address": {

         "type": "string"

      }

   },

   "required": [ "name" ],

   "dependencies": {

      "credit_card": [ "billing_address" ]

   },

   "additionalProperties": false

}

 

 

So erstellen Sie eine Eigenschaftsabhängigkeit:

 

1.Klicken Sie mit der rechten Maustaste auf eine Eigenschaft, auf der die Abhängigkeit basieren soll. (In unserem Beispiel ist dies die Eigenschaft credit_card.)
2.Wählen Sie im daraufhin angezeigten Kontextmenü den Befehl Abhängigkeit hinzufügen | Abhängige Eigenschaft. Daraufhin wird eine neue Eigenschaft mit dem Vorkommen-Wert Abhängig hinzugefügt.
3.Definieren Sie den Namen und Wert dieser Eigenschaft und fügen Sie je nach Bedarf alle zusätzlichen Details oder Constraints hinzu.

 

So definieren Sie eine Eigenschaft als von einer anderen abhängig:

 

1.Klicken Sie mit der rechten Maustaste auf die Eigenschaft, die Sie von einer anderen abhängig machen möchten. (In unserem Beispiel ist dies die Eigenschaft billing_address.)
2.Wählen Sie im daraufhin angezeigten Kontextmenü Abhängig aus. Gehen Sie alternativ dazu in der Eingabehilfe "Details" zum Eintrag Vorkommen und wählen Sie Abhängig (siehe Abbildung oben).
3.Klicken Sie in der Eingabehilfe "Details" auf das Dropdown-Listensymbol des Eintrags Abhängig von. Die Dropdown-Liste enthält alle anderen Eigenschaften des Objekts. Wählen Sie die Eigenschaft, von der die aktuelle Eigenschaft abhängig gemacht werden soll, aus.

 

Anmerkung:In den Kästen der beiden an der Abhängigkeit beteiligten Eigenschaften wird ein Symbol angezeigt (siehe Abbildung oben). Wenn Sie auf das Symbol der einen Eigenschaft klicken, gelangen Sie zur anderen Eigenschaft.

 

Anmerkung:Eine Eigenschaft kann mehrere abhängige Eigenschaften haben.

 

Schemaabhängigkeiten

In der Abbildung unten sehen Sie ein Objekt, das dieselbe Instanzdatenstruktur, wie beim im vorherigen Abschnitt erläuterte Objekt beschreibt. Die Definitionen der beiden Objekte sind allerdings anders. Während in der vorherigen Definition eine Eigenschaftsabhängigkeit verwendet wurde, um die Eigenschaft billing_address als von der Eigenschaft credit_card abhängige Eigenschaft zu definieren, wird in der aktuellen Definition zur Definition dieser Abhängigkeit eine Schemaabhängigkeit verwendet. Unterhalb der Abbildung sehen Sie den Code dieser zweiten JSON-Objektdefinition. Weiter unten wird beschrieben, wie Sie eine Schemaabhängigkeit erstellen.

Click to expand/collapse

Click to expand/collapseCodefragment eines JSON-Objekts mit einer Schemaabhängigkeit

{

   "type": "object",

   "properties": {

      "name": {

         "type": "string"

      },

      "credit_card": {

         "type": "integer"

      }

   },

   "required": [ "name" ],

   "dependencies": {

      "credit_card": {

         "properties": {

            "billing_address": {

               "type": "string"

            }

         },

         "required": [ "billing_address" ]

      }

   }

}

 

 

So erstellen Sie eine Schemaabhängigkeit:

 

1.Klicken Sie mit der rechten Maustaste auf die Eigenschaft, auf der die Abhängigkeit basieren soll. (In unserem Beispiel ist dies die Eigenschaft credit_card.)
4.Wählen Sie im daraufhin angezeigten Kontextmenü Abhängigkeit hinzufügen | Schemaabhängigkeit aus. Daraufhin wird eine neue Objektdefinition erstellt. Sie erhält denselben Namen wie die Eigenschaft, von der sie abhängig ist (in unserem Beispiel credit_card) und hat ein Child-Subschema.
2.Definieren Sie das Subschema Ihren Wünschen entsprechend, fügen Sie alle zusätzlichen Details oder Constraints, die Sie benötigen, hinzu.

 

 

Anmerkung:In den Kästen der Eigenschaft und des an der Abhängigkeit beteiligten Objekts, wird ein Symbol angezeigt (siehe Abbildung oben). Wenn Sie auf das Symbol in dem einen Kasten klicken, gelangen Sie zum anderen Kasten.

 

Anmerkung:Wenn Sie mehrere Abhängigkeiten definieren möchten, tun Sie dies im abhängigen Subschema (siehe Abbildung oben).

 


© 2019 Altova GmbH