我可以在JSON模式中设置精确值吗?

时间:2016-11-16 09:44:54

标签: json jsonschema

我使用JSON Schema来针对某些架构验证app对象以进行测试。

我发现我可以为属性设置minimummaximum值:

"responseCode": {
        "type": "integer",
        "minimum": 100,
        "maximum": 500
    }

但我无法确定是否可以设置所需的确切值,例如"value":123

是否可以将其设置为我需要验证的内容?

2 个答案:

答案 0 :(得分:12)

你可以:

{ "enum": [123] }

{ "const": 123 }

const现在是JSON模式规范草案06的一部分(Ajv和其他一些验证器支持它。)

答案 1 :(得分:-1)

如果有人想知道如何指定字符串值而不是数字,尤其是在使用 JSON Schema Draft-04 的 AWS API Gateway 中,您可以使用正则表达式:

{
    "type": "string",
    "pattern": "MyStringOrOtherRegex"
}

https://datatracker.ietf.org/doc/html/draft-fge-json-schema-validation-00#section-3.3