Ich möchte mit JSON-Schema-Array beschreiben, das aus null oder mehr vordefinierten Werten bestehen sollte. Um es einfach zu machen, lassen Sie uns haben diese möglichen Werte: one
, two
und three
.
Richtige Arrays (sollten die Validierung bestehen):
[]
["one", "one"]
["one", "three"]
Falsch:
["four"]
Jetzt weiß ich, dass die "enum"
Eigenschaft verwendet werden sollte, aber ich kann keine relevanten Informationen finden, wo sie abgelegt werden soll.
Option A (unter "items"
):
{
"type": "array",
"items": {
"type": "string",
"enum": ["one", "two", "three"]
}
}
Option B:
{
"type": "array",
"items": {
"type": "string"
},
"enum": ["one", "two", "three"]
}
arrays
json
enums
jsonschema
senasi
quelle
quelle
Antworten:
Option A ist korrekt und entspricht Ihren Anforderungen.
{ "type": "array", "items": { "type": "string", "enum": ["one", "two", "three"] } }
quelle
Laut
json-schema
Dokumentation müssen die aufgezählten Werte von aarray
in das"items"
Feld aufgenommen werden:{ "type": "array", "items": { "type": "string", "enum": ["one", "two", "three"] } }
Wenn Sie eine haben
array
, die z. B. Elemente unterschiedlichen Typs enthalten kann, sollte Ihr Schema wie folgt aussehen:{ "type": "array", "items": [ { "type": "string", "enum": ["one", "two", "three"] }, { "type": "integer", "enum": [1, 2, 3] } ] }
quelle
anyOf
: json-schema.org/understanding-json-schema/reference/…