【发布时间】:2022-02-09 02:09:55
【问题描述】:
我正在编写一个包含多个 patternProperties 元素的架构。有没有办法指定检查这些模式的优先级?
鉴于此架构:
{
$id: "https://example.com/mySchema",
type: "object",
patternProperties: {
"^foo\\.bar\\.[a-zA-Z0-9-]+\\.(?:string|boolean|date|)$": { // #1
type: "object",
properties: { ... }
},
"^bar\\.foo\\.[a-zA-Z0-9-]+\\.(?:string|boolean|date|)$": { // #2
type: "object",
properties: { ... }
},
"^foo\\.[a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+\\.(?:string|boolean|date|)$": { // #3
type: "object",
properties: { ... }
},
}
}
以及正在验证的 json:
{
foo.bar.baz.boolean: { ... }
}
验证失败,因为它检查的是模式 #3 而不是模式 #1。是否可以先使用最严格的模式进行验证?
更多上下文:我目前正在使用 AJV 来实现验证。如果有更好的选择,我会打开建议
【问题讨论】:
标签: json schema jsonschema json-schema-validator