我有一个draft7
模式。
totalSizeOfFarm
和totalAreaGrass
这两个必需的属性都是number
类型,并且exclusiveMinimum
的值为0。
我希望totalAreaGrass
的最大值不超过totalSizeOfFarm
的值。
能做到吗?
我一直在研究if..then
,但不了解如何获取totalSizeOfFarm
的值。
请咨询。
答案 0 :(得分:1)
您不能在架构中使用JSON实例中数字的特定值。 您所描述的是验证业务逻辑,这超出了JSON Schema的范围。
如果您具有特定的值(例如将其放入枚举中的值),则可以基于特定的值进行操作,但不能从要验证的JSON实例动态地进行操作。
也就是说,没有什么可以阻止您添加自己的关键字,并使用该接口基于该关键字执行自己的功能。并非所有的库都支持这种功能(ajv支持),这将使您的JSON模式不再可供其他人使用,这可能是一个考虑因素。