Схемы JSON имеют свойство required
, в котором перечислены необходимые поля в объекте JSON. Например, следующая (упрощенная) схема проверяет вызов, который отправляет текстовое сообщение пользователю:
{
"type": "object",
"properties": {
"userId": { "type": "string" },
"text": { "type": "string" },
},
"required": ["userId", "text"]
}
Предположим, что я хочу включить отправку сообщения нескольким пользователям, т.е. иметь либо поле userId
, либо массив userIds
(но не оба или ни то, ни другое). Есть ли способ выразить такое условие в схеме JSON?
Естественно, в этом случае есть способы преодолеть проблему — например, массив userId
с одним элементом — но общий случай интересен и полезен.