Arrays
Ein Array ist eine Liste von null oder mehr geordneten Elementen; ein Array steht innerhalb von eckigen Klammern. Jedem Element in der Liste wird ein Typ zugewiesen. Das Instanzcodefragment unten ist ein Objekt mit drei Eigenschaften. Der Wert jeder Eigenschaft ist ein Array (die Trennzeichen sind gelb markiert).
{
"x": [ 1, 2, "abc" ],
"y": [ 3, 4, "def" ],
"z": [ 5, 6, "ghi" ]
}
Alle drei Arrays im Codefragment oben haben dieselbe Definition. Jedes enthält drei geordnete Elemente in der folgenden Reihenfolge: (i) ein Zahlelement, ein (ii) Zahlelement, (iii) ein String-Element. In der Abbildung unten sehen Sie dieses Objekt als Schemabeschreibung. Da die Definition für alle drei Arrays dieselbe ist, wurde sie in einem globalen Array namens array_01 erstellt. Jedes der drei Arrays (x, y und z) referenziert das globale Array array_01.
In der Abbildung oben ist Array x ausgewählt (blau markiert). Seine Details und Constraints werden in den jeweiligen Eingabehilfe angezeigt (siehe Abbildung oben). Beachten Sie den Constraint, also die Einschränkung, zur Anzahl der zulässigen Elemente. Die Zahl kann in der Eingabehilfe "Constraints" bearbeitet werden und wird im Diagramm angezeigt. Die Array-Elemente können in der Definition des Array selbst, in diesem Fall in der globalen Definition array_01, definiert werden (Abbildung unten).
Beachten Sie die folgenden Punkte:
•Der Constraint eindeutig definiert, dass alle Elemente im Array eindeutig sein müssen.
•Die Nummerierung der Elemente beginnt mit 0.
•Die Angaben 3 <= Elemente <= 3 und Elemente: 3..3 (siehe Abbildung oben) geben die Mindest- und Maximalanzahl der zulässigen Elemente an. In diesem Fall müssen genau drei Elemente vorhanden sein.
Hinzufügen von Array-Elementen, Array-Elementplatzhaltern und dem Schlüsselwort "Enthält"
Array-Elemente, Array-Elementplatzhalter und das Schlüsselwort Enthält eines Array werden über das Kontextmenü einer Definition oder eines Array-Elements hinzugefügt.
•Mit Hilfe eines Array-Platzhalters kann eine breitere Palette an Objekten in das Array inkludiert werden.
•Mit dem Schlüsselwort Enthält wird definiert, dass der Wert des Schlüsselworts Enthält ein gültiges JSON-Schema sein muss und dass mindestens eines der Elemente des Array gemäß dem referenzierten Schema-Objekt gültig sein muss. Ab draft 2019-09 stehen die Schlüsselwörter minContains und maxContains zur Verfügung. In der Eingabehilfe "Details" werden diese als die Min- und Max-Eigenschaft des Enthält-Felds angezeigt (siehe Abbildung unten). Damit legen Sie fest, wie viele Einträge mit dem referenzierten Schema-Objekt übereinstimmen dürfen.