当且仅当嵌套对象中存在特定键时,才需要JSON架构条件

2024-10-11 16:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我对jsonschema的问题有两个:

给予

{
  "foo": {"ar": {"a": "r"}},
  "bar": ""
}
  1. 如何检查“foo”中是否存在键“ar”?

  2. 只有当“ar”存在于“foo”中时,我如何才能使“bar”必须存在于给定的json中?

我尝试过查看其他的SO答案或jsonschema文档,但它们似乎只检查键是否具有特定的值,而不是检查键是否存在而不管其值如何。嵌套对象的JSONScript只检查巢的最深级别,而不是中间的某个位置。在

我想出了这个办法,但没用。在

^{pr2}$

Tags: 对象答案文档jsonsofoobar级别
1条回答
网友
1楼 · 发布于 2024-10-11 16:25:07

要测试属性是否存在,请使用required关键字。在

{
  "properties": {
    "foo": {
      "required": ["ar"]
    }
  },
  "required": ["foo"]
}

如果/foo/ar存在,则此架构验证为true;如果不存在,则验证为false。使用它来代替if模式,您的条件应该可以按预期工作。在

相关问题 更多 >

    热门问题