Я хочу создать схему JSON для этого примера JSON "псевдокод":
{
"xyz": {
"$something": {
"property_a": "...",
"property_b": "...",
"property_c": "..."
}
}
}
$something
может быть одной из следующих строк: foo
, bar
или buz
.Моя текущая схема выглядит так:
{
"xyz": {
"id": "xyz",
"type": "object",
"properties": {
"foo": {
"id": "foo",
"type": "object",
"additionalProperties": false,
"required": ["property_a"],
"properties": {
"property_a": {
"id": "property_a",
"type": "string"
},
"property_b": {
"id": "property_b",
"type": "string"
},
"property_c": {
"id": "property_a",
"type": "string"
}
}
},
"bar": {
... copy&paste foo
},
"buz": {
... copy&paste foo
}
}
}
}
Это работает, но это очень дублированный код.Поэтому я ищу более элегантный способ его реализации.
Как определить список значений (ложь enum
), разрешенных в качестве имени для свойства в схеме JSON?