3
我有这个模式。它检查评论,目前工作正常。JSON模式 - 多种类型
var schema = {
id: '',
type: 'object',
additionalProperties: false,
properties: {
text: {
type: 'string',
minLength: 1,
required: true
},
author: {
type: 'number',
required: true
}
}
};
我的评论的结构是:
{
text: "Hello world!",
author: 1
}
但现在,我需要验证这样的对象的数组。所以,我可以得到的东西,如:
[
{
text: "Hello world! Im comment #1",
author: 1
},
{
text: "Super awesome comment #2!",
author: 0
}
]
有时我得到一个评论仅所以我得到一个对象,并需要使用第一个模式,但有时我得到的意见数组,我的模式不适合。
我听说过json架构anyOf
,但我不知道该怎么做。
有些人喜欢:
anyOf
schema-1 (object)
schema-2 (array with objects)
任何帮助吗?
谢谢。
谢谢,它的工作原理。为什么不'''anyOf'''而不是'''oneOf'''? – jBaumann
在这种情况下,它们会有点相似,因为它不能同时是一个对象和一个数组。但是,一般情况下,除非您明确希望它们都可以同时使用,否则使用'oneOf'同样容易阅读,并且对预期行为更加明确。 – cloudfeet