一尘不染

JSON模式-如果对象*不*包含特定属性,则有效

json

是否有可能建立一个JSON模式,它仍然允许additionalProperties
若一个非常特别的属性名存在匹配吗?换句话说,我需要知道是否有可能与required声明完全相反。

架构:

{
    "type": "object",
    "properties": {
        "x": { "type": "integer" }
    },
    "required": [ "x" ],
    "ban": [ "z" ] // possible?
}

比赛:

{ "x": 123 }

比赛:

{ "x": 123, "y": 456 }

难道 匹配:

{ "x": 123, "y": 456, "z": 789 }

阅读 217

收藏
2020-07-27

共1个答案

一尘不染

您可以通过使用not关键字来实现。如果not架构验证,则父架构将不验证。

{
    "type": "object",
    "properties": {
        "x": { "type": "integer" }
    },
    "required": [ "x" ],
    "not": { "required": [ "z" ] }
}
2020-07-27