0

我有一个用例,我想检查 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' 是意外的)”

这是出现任何附加键时的默认错误

如何去做?

4

0 回答 0