к сожалению, я не думаю, что это возможно с json черновиком схемы 7. новейший черновик (2019-09) содержит ключевое слово maxContains
, которое сможет это проверить, но инструменты для этого черновика редки уже. Я не знаю, какой инструмент вы используете, но если вы сможете использовать 2019-09, схема для «элементов» будет выглядеть примерно так:
{
"type": "array",
"contains": {
"properties": {
"isSelected": {"const": true}
}
},
"maxContains": 1
}
oneOf не то, что вы ' ищите, для этого - он проверяет, что одна из набора схем проверяет соответствие экземпляру, а не проверяет, соответствует ли один из набора экземпляров схеме.