【发布时间】:2018-07-26 13:05:44
【问题描述】:
对 JSON Schema (draft-07) 的一个相对较新的添加添加了 if、then 和 else 关键字。我无法弄清楚如何正确使用这些新关键词。到目前为止,这是我的 JSON 架构:
{
"type": "object",
"properties": {
"foo": {
"type": "string"
},
"bar": {
"type": "string"
}
},
"if": {
"properties": {
"foo": {
"enum": [
"bar"
]
}
}
},
"then": {
"required": [
"bar"
]
}
}
如果“foo”属性等于“bar”,那么“bar”属性是必需的。这按预期工作。
但是,如果“foo”属性不存在或输入为空,那么我什么都不想要。如何做到这一点?
empty input {}.
发现错误:
对象缺少必需的属性:bar。
架构路径:#/then/required
我使用在线验证工具:
【问题讨论】:
-
您可能觉得格式不重要,但它可以帮助人们回答您的问题。链接的在线验证器甚至有一个按钮可以为您自动格式化 JSON。请使用它。
-
“我什么都不想要”这句话没有任何意义。你能改写一下吗?我假设您的意思是“我不希望对象中有任何值”。对吗?
标签: jsonschema