JSonSchema 中允许的 patternProperty 的 1 个实例
1 single instance of a patternProperty allowed in JSonSchema
我有一个像这样的 JsonSchema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"definitions": {},
"id": "http://example.com/example.json",
"patternProperties": {
"^[0-9]$": {
....
....
....
}
}
}
我想让这个 Schema 验证的是,如果有一个 JSON 字符串带有这个 patternProperty
的 0 或 1
例如
{
"0":{}
}
是右输出
{
}
也是右输出
{
"0":{},
"1":{}
}
即使两者的 patternProperty 都匹配,也会出现错误输出,但有超过 1 个节点
使用 JSonSchema 可以做到这一点吗?
您可以使用 maxProperties and minProperties。
如果你只想要一个 属性 你可以这样做:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": true,
"patternProperties": {
"[a-z]": {}
},
"maxProperties": 1,
"minProperties": 1
}
我有一个像这样的 JsonSchema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": false,
"definitions": {},
"id": "http://example.com/example.json",
"patternProperties": {
"^[0-9]$": {
....
....
....
}
}
}
我想让这个 Schema 验证的是,如果有一个 JSON 字符串带有这个 patternProperty
的 0 或 1例如
{
"0":{}
}
是右输出
{
}
也是右输出
{
"0":{},
"1":{}
}
即使两者的 patternProperty 都匹配,也会出现错误输出,但有超过 1 个节点
使用 JSonSchema 可以做到这一点吗?
您可以使用 maxProperties and minProperties。 如果你只想要一个 属性 你可以这样做:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"additionalProperties": true,
"patternProperties": {
"[a-z]": {}
},
"maxProperties": 1,
"minProperties": 1
}