【发布时间】:2020-07-17 08:19:20
【问题描述】:
我想验证这样的对象
{
type: "user",
data: {id: 1},
}
和
{
type: "account",
data: {uuid: "xxxx"},
}
我以为我可以这样写架构
{
type: "object",
properties: {
type: {enum: ["user", "account"]},
data: {
"if": {properties: {type: {const: "user"}}},
"then": {
type: "object",
properties: {
id: {type: "number"}
}
},
"else": {
type: "object",
properties: {
uuid: {type: "string"}
}
},
}
}
}
但看起来我无法从 data 字段的上下文中引用根 type 字段。所以我有两个问题。我可以使用比 root 更深的 if 吗?如果可以,那么如何从嵌套对象引用父对象或根对象?我正在使用节点ajv 进行验证。
【问题讨论】:
标签: jsonschema ajv