比较 JSON 模式中的数字
Comparing numbers in JSON Schema
我在 JSON 架构中有号码 属性
"years": {"type": "number", "pattern": "^([0-9]|10)$"}
我想在需要检查数字是否小于3的情况下匹配这个数字,有没有办法做到这一点?我试过了
"if": {"properties": {"years": {"anyOf": [0,1,2]}}
你想要exclusiveMaximum
。见 https://json-schema.org/understanding-json-schema/reference/numeric.html#range
请注意,您可能希望 minimum: 0
排除负数。
如果您不想包含小数,您可能还需要 type: integer
而不是 type: number
。
pattern
不正确,因为它适用于字符串,而不是数字。
anyOf
采用模式,而不是值,但如果这些是唯一允许的值,您可以使用 enum: [0, 1, 2]
。
我在 JSON 架构中有号码 属性
"years": {"type": "number", "pattern": "^([0-9]|10)$"}
我想在需要检查数字是否小于3的情况下匹配这个数字,有没有办法做到这一点?我试过了
"if": {"properties": {"years": {"anyOf": [0,1,2]}}
你想要exclusiveMaximum
。见 https://json-schema.org/understanding-json-schema/reference/numeric.html#range
请注意,您可能希望 minimum: 0
排除负数。
如果您不想包含小数,您可能还需要 type: integer
而不是 type: number
。
pattern
不正确,因为它适用于字符串,而不是数字。
anyOf
采用模式,而不是值,但如果这些是唯一允许的值,您可以使用 enum: [0, 1, 2]
。