web-dev-qa-db-ja.com

JSONスキーマ-ブール値がfalseでなければならないことを指定するにはどうすればよいですか?

ブール値になる型があるとしますが、ブール値になるように指定するだけでなく、値がfalseになるように指定したいとします。ブール値になることを指定するには、次のようにします。

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

上記の「boolean」を「false」とfalse(引用符なし)に置き換えてみましたが、どちらも機能しません。

23
jononomo

enumキーワードを使用します。

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

このキーワードはそのような場合のために設計されています。列挙型のJSON値のリストは、現在検証されている値の可能な値のリストです。ここでは、可能な値はJSON booleanfalseの1つだけです。

44
fge

ドラフト6の時点で、constキーワードを使用できます。列挙型に似ていますが、1つの値しか取りません。

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