duc*_*cin 7 arrays json object jsonschema
不要混淆任何人,我将从验证数组开始......
关于数组,JSON Schema 可以检查 (((...)sub)sub) 数组的元素是否符合结构:
"type": "array",
"items": {
...
}
Run Code Online (Sandbox Code Playgroud)
在验证对象时,我知道我可以传递具有相应值类型的某些键,例如:
"type": "object",
"properties": {
// key-value pairs, might also define subschemas
}
Run Code Online (Sandbox Code Playgroud)
但是如果我有一个对象,我只想用它来验证值(没有键)怎么办?
我的真实案例是我正在配置按钮:可能有edit、delete、add按钮等等。它们都有特定的、严格的结构,我确实有 JSON 模式。但我不想将自己限制在['edit', 'delete', 'add']只有,可能有publish或print将来有。但我知道它们都会符合我的子模式。
每个按钮是:
BUTTON = {
"routing": "...",
"params": { ... },
"className": "...",
"i18nLabel": "..."
}
Run Code Online (Sandbox Code Playgroud)
我有一个按钮对象(不是数组):
{
"edit": BUTTON,
"delete": BUTTON,
...
}
Run Code Online (Sandbox Code Playgroud)
我该如何编写这样的 JSON 模式?有没有结合的任何方式object与items(我知道有对象的属性和数组项的关系)。
您可以additionalProperties为此使用。如果您设置additionalProperties为架构而不是布尔值,则未使用propertiesorpatternProperties关键字显式声明的任何属性都必须与给定的架构匹配。
{
"type": "object",
"additionalProperties": {
... BUTTON SCHEMA ...
}
}
Run Code Online (Sandbox Code Playgroud)
http://json-schema.org/latest/json-schema-validation.html#anchor64