JSON Schema - how do I specify that a boolean value must be false?

jononomo picture jononomo · May 30, 2013 · Viewed 14.4k times · Source

Let's say I have a type that will be boolean, but I don't just want to specify that it will be boolean, I want to specify that it will have the value false. To just specify that it will be boolean I do the following:

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

I have tried substituting "boolean" above for "false" and false (without quotes), but neither works.

Answer

fge picture fge · May 30, 2013

Use the enum keyword:

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

This keyword is designed for such cases. The list of JSON values in an enum is the list of possible values for the currently validated value. Here, there is only one possible value: JSON boolean false.