我有一个用例,我想检查 JSON 中存在的键,具体取决于不同键的值。
示例 JSON-1:
{
"key_name" : "value1",
"foo" : "random_value1"
}
示例 JSON-2:
{
"key_name" : "value2",
"bar" : "random_value2"
}
这里有两条规则:
规则 1。如果“key_name”的值为“value1”,那么 JSON 中应该只有“foo”键。
规则 2。如果“key_name”的值为“value2”,那么 JSON 中应该只有“bar”键。
现在,根据规则,以下 JSON 是无效的,应该会引发错误。
{
"key_name" : "value1",
"foo" : "random_value1",
"bar" : "random_value2"
}
或者
{
"key_name" : "value2",
"bar" : "random_value2",
"foo" : "random_value"
}
我已经根据这个问题编写了用于验证这些 JSON 的 JSON 模式。
但是如果我使用它,我会收到以下错误:
JSON 在任何给定模式下均无效。
虽然这解决了目的,但这个错误并不能完全解释为什么 JSON 无效。我期待一些错误,例如:
“不允许附加属性('bar' 是意外的)”
这是出现任何附加键时的默认错误
如何去做?