【发布时间】:2014-09-19 07:38:36
【问题描述】:
我正在尝试为带有子菜单的菜单创建正确的 JSON 架构。 所以我应该从包含三个项目的项目中定义一个数组。 1 个显示名称、2 个 URL 和子项(应该是具有相同结构的对象数组)
此时我得到了这个:
{
"type": "array",
"additionalProperties": false, // have no idea what is this for :)
"items": {
"type": "object",
"additionalProperties": false, // have no idea what is this for :)
"description": "MenuLink",
"id": "menuLink",
"properties": {
"display_name": {
"type": "string",
"title": "Link display name",
"minLength": 2
},
"url": {
"type": "string",
"title": "URL address",
"minLength": 2
},
"children": {
"type": "array",
"title": "Childrens",
"additionalItems": false, // have no idea what is this for :)
"items": {
"$ref": "menuLink"
}
}
},
"required": [
"display_name",
"url"
]
}
}
问题是它只对一级菜单有效
任何帮助将不胜感激
【问题讨论】:
-
additionalProperties: false表示 json 文件可能只包含在架构的properties或patternProperties部分中定义的属性。其他属性将不被接受。参见这里json-schema.org/latest/json-schema-validation.html#anchor64
标签: json recursion jsonschema