【发布时间】:2017-06-10 19:15:32
【问题描述】:
我有一个简单的问题。我有一个属性 groupBy,它是一个数组,只包含两个可能的值“产品”和“日期”。现在我想根据 groupBy 数组中的 value 存在 来创建另一个所需的属性。在这种情况下,当我的 groupBy 数组包含 "date" 我想要求分辨率!我该怎么做?
谁可以检查数组是否包含值?
var data = {
"pcsStreamId": 123123,
"start": moment().valueOf(),
"end": moment().valueOf(),
"groupBy" : ["product"]
};
var schema = {
"type": "object",
"properties": {
"pcsStreamId": { "type": "number" },
"start": { "type": "integer", "minimum" : 0 },
"end": { "type": "integer", "minimum" : 0 },
"groupBy": {
"type": "array",
"uniqueItems": true,
"items" : {
"type": "string",
"enum": ["product", "date"]
},
"oneOf": [
{
"contains": { "enum": ["date"] },
"required": ["resolution"]
}
]
},
"resolution" : {
"type": "string",
"enum": ["day", "year", "month", "shift"]
},
},
"required": ["pcsStreamId", "start", "end", "groupBy"]
};
【问题讨论】:
标签: jsonschema