Jar*_*ede 1 json jsonschema node.js
我想知道一个属性是否可以有多个规则。所有的例子似乎都表明你不能。
所以我想要这样的东西:
"properties": {
"track": {
"type": "string",
"pattern": "(exclusive)"
},
"track": {
"type": "string",
"pattern": "(featuring)"
}
}
Run Code Online (Sandbox Code Playgroud)
我知道在这个例子中要做的显而易见的事情是拥有模式"(exclusive)|(featuring)",但我想我想知道哪条规则失败了。同样,我以后可能想要更复杂的模式,这可能无法通过|.
您可以将架构与allOf、anyOf和oneOf关键字组合起来。这些关键字中的每一个都采用一组模式并执行其所说的操作。allOf如果所有模式都有效,则有效。anyOf如果任何模式有效,则该模式有效。oneOf如果其中一个模式有效,则该模式有效。
这是解决您问题的一种方法。
{
"type": "object",
"properties": {
"track": {
"anyOf": [
{
"type": "string",
"pattern": "(exclusive)"
},
{
"type": "string",
"pattern": "(featuring)"
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |