Мне нужно, чтобы oneOf value и value_num присутствовали как обязательные поля, но не оба. Ни один из этих вариантов не работает для меня. Я попытался добавить «additionalProperties»: false. Попытался удалить объявления полей value и value_num.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"observation": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time"
},
"eventType": {
"type": "string"
},
"value": {
"type": "object"
},
"value_num": {
"type": "number"
}
},
"oneOf": [{
"properties": {
"value": {
"type": "object"
},
"required": ["value"]
}
}, {
"properties": {
"value_num": {
"type": "number"
},
"required": ["value_num"]
}
}],
"required": [
"timestamp",
"eventType"
]
}
}
},
"required": [
"observation"
]
}
Я попытался добавить oneOf в блок items.properties. Все, что я действительно хочу, это: "oneOf": [{"value", "value_num"}],
Любая помощь приветствуется.
ТИА,