mgl*_*dev 7 javascript json jsonschema
给定这个JSON对象:
{
"objects": {
"foo": {
"id": 1,
"name": "Foo"
},
"bar": {
"id": 2,
"name": "Bar"
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个包含子对象的对象,其中每个子对象具有相同的结构 - 它们都是相同的类型.每个子对象都是唯一键控的,因此它的作用类似于命名数组.
我想验证objects属性中的每个对象是否针对JSON Schema引用进行验证.
如果objects属性是数组,例如:
{
"objects": [
{
"id": 1,
"name": "Foo"
},
{
"id": 2,
"name": "Bar"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我可以使用模式定义验证这一点,例如:
{
"id": "my-schema",
"required": [
"objects"
],
"properties": {
"objects": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是因为它type是array,并且这允许验证items.
是否可以做类似的事情,但嵌套对象?
谢谢!
你可以尝试这样的事情:
{
"id": "my-schema",
"type": "object",
"properties": {
"objects": {
"type": "object",
"patternProperties": {
"[a-z]+": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"id",
"name"
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
396 次 |
| 最近记录: |