Подтвердить что ты не робот

JSON Schema - как указать, что логическое значение должно быть ложным?

Скажем, у меня есть тип, который будет логическим, но я не просто хочу указать, что он будет логическим, я хочу указать, что он будет иметь значение false. Чтобы просто указать, что он будет логическим, я делаю следующее:

{
    "properties": {
        "some_flag": {
            "type": "boolean"
        }
    }
}

Я попытался подставить "boolean" выше для "false" и false (без кавычек), но не работает.

4b9b3361

Ответ 1

Используйте ключевое слово enum:

{
    "properties": {
        "some_flag": { "enum": [ false ] }
    }
}

Это ключевое слово предназначено для таких случаев. Список значений JSON в перечислении - это список возможных значений для текущего подтвержденного значения. Здесь существует только одно возможное значение: JSON boolean false.

Ответ 2

Начиная с draft-6, вы можете использовать ключевое слово const. Это похоже на enum, но принимает только одно значение.

{
    "properties": {
        "some_flag": { "const": false }
    }
}