JSON Schema - как указать, что логическое значение должно быть ложным?
Скажем, у меня есть тип, который будет логическим, но я не просто хочу указать, что он будет логическим, я хочу указать, что он будет иметь значение false. Чтобы просто указать, что он будет логическим, я делаю следующее:
{
"properties": {
"some_flag": {
"type": "boolean"
}
}
}
Я попытался подставить "boolean" выше для "false" и false (без кавычек), но не работает.
Ответы
Ответ 1
Используйте ключевое слово enum
:
{
"properties": {
"some_flag": { "enum": [ false ] }
}
}
Это ключевое слово предназначено для таких случаев. Список значений JSON в перечислении - это список возможных значений для текущего подтвержденного значения. Здесь существует только одно возможное значение: JSON boolean false.
Ответ 2
Начиная с draft-6, вы можете использовать ключевое слово const
. Это похоже на enum, но принимает только одно значение.
{
"properties": {
"some_flag": { "const": false }
}
}