Objekte und Abhängigkeiten
Sie können innerhalb der Definition eines Objekts festlegen, dass im Fall des Vorhandenseins einer bestimmten Eigenschaft eine zweite davon abhängige Eigenschaft ebenfalls vorhanden sein muss. Das obligatorische Vorhandensein der zweiten Eigenschaft ist vom Vorhandensein der ersten Eigenschaft abhängig und eine Folge davon. 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. Wenn die Eigenschaft credit_card vorhanden ist, so muss eine zweite Eigenschaft namens billing_address vorhanden sein. Die Eigenschaft billing_address ist von der Eigenschaft credit_card abhängig und eine Folge davon.
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.
{ "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.
{ "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 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ü 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.
3.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). |