我有一个带有2个属性,minimumTolerance和maximumTolerance的JSON模式。我需要确保maximumTolerance的值不小于minimumTolerance&反之亦然。这在JSON模式中是否可行?
以下是我希望能够做到的一个例子:
{
"$schema": "http://json-schema.org/draft-06/schema#",
"title": "MinMax",
"description": "Minum & Maximum",
"type": "object",
"properties": {
"minimumTolerance":{
"type": "number"
"maximum":{
"$ref":"maximumTolerance"
}
}
"maximumTolerance":{
"type": "number"
"minumum": {
"$ref":"minimumTolerance"
}
}
}
答案 0 :(得分:2)
从规范草案7开始,无法使用JSON Schema执行此操作。
答案 1 :(得分:1)
如果您使用的是AJV,则可以使用$data
和相对的JSON指针来完成。示例:
low: {
type: 'integer',
maximum: {
$data: '1/high',
},
exclusiveMaximum: true,
},
high: {
type: 'integer',
minimum: {
$data: '1/low',
},
exclusiveMinimum: true,
},
答案 2 :(得分:-1)
是的,但它可能不是您正在寻找的动态答案...在预期范围内输入最小值和最大值:
"MinimumTolerance": {
"type": "number",
"minimum": 0,
"maximum": 6000,
},
"MaximumTolerance": {
"type": "number",
"minimum": 6001,
},