【发布时间】:2015-02-26 12:26:35
【问题描述】:
我的 JSON 文件看起来像这样:
{
"api": "http://my.api.host",
"modules": [
"core", "module", "another"
]
}
或者这个:
{
"api": "http://my.api.host",
"modules": "*"
}
请注意,modules 属性的值可以是数组,也可以是* 字符串。如何在 JSON 模式中做到这一点?使用无价的http://jsonschema.net/ 我创建了以下仅验证数组的结构:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://jsonschema.net",
"type": "object",
"additionalProperties": true,
"properties": {
"api": {
"id": "http://jsonschema.net/api",
"type": "string",
"minLength": 1
},
"modules": {
"id": "http://jsonschema.net/modules",
"type": "array",
"minItems": 1,
"uniqueItems": false,
"additionalItems": true,
"items": {
"id": "http://jsonschema.net/modules/2",
"type": "string",
"minLength": 1
}
}
},
"required": [
"api",
"modules"
]
}
如何在 JSON 模式中进行替代?
【问题讨论】:
标签: javascript json jsonschema