Jsonschema json模式-允许在所需属性中使用逻辑或
这个问题的另一个标题是“所需的财产组合” 假设我正在使用json模式,如下所示:Jsonschema json模式-允许在所需属性中使用逻辑或,jsonschema,json-schema-validator,json-schema-defaults,Jsonschema,Json Schema Validator,Json Schema Defaults,这个问题的另一个标题是“所需的财产组合” 假设我正在使用json模式,如下所示: { "$schema": "http://json-schema.org/draft-07/schema#", "title": "JSON schema for NLU (npm-link-up) library.", "type": "object", "additionalProperties": false, "required": [ "list", "packages", "
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSON schema for NLU (npm-link-up) library.",
"type": "object",
"additionalProperties": false,
"required": [
"list", "packages", "deps"
],
// ...
}
我想做的是,做一个“列表”、“包”、“deps”,以满足需要。应该有一个,但不超过一个
所以可能是这样的:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSON schema for NLU (npm-link-up) library.",
"type": "object",
"additionalProperties": false,
"required": [
{
"min": 1,
"max": 1,
"selection": ["list", "packages", "deps"]
}
],
}
或
这可能吗?JSON模式中有四个布尔组合词关键字:
-和allOf
-或任何一个
-异或(异或)其中一个
-非非
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSON schema for NLU (npm-link-up) library.",
"type": "object",
"additionalProperties": false,
"oneOf": [
{ "required": ["list"] },
{ "required": ["packages"] },
{ "required": ["deps"] }
]
}
JSON模式中有四个布尔组合词关键字:
-和allOf
-或任何一个
-异或(异或)其中一个
-非非
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "JSON schema for NLU (npm-link-up) library.",
"type": "object",
"additionalProperties": false,
"oneOf": [
{ "required": ["list"] },
{ "required": ["packages"] },
{ "required": ["deps"] }
]
}
你确定这是正确的语法吗?如果我想要多个
“其中一个”
,该怎么办?哎呀,我解决了语法问题。oneOf
数组中的每个项都应该是JSON模式。如果需要多个oneOf
,可以使用allOf
。例如,{“allOf”:[{“oneOf”:[…]},{“oneOf”:[…]}}
。您确定这是正确的语法吗?如果我想要多个“其中一个”
,该怎么办?哎呀,我解决了语法问题。oneOf
数组中的每个项都应该是JSON模式。如果需要多个oneOf
,可以使用allOf
。例如,{“allOf”:[{“oneOf”:[…]},{“oneOf”:[…]}}
。