属性名称中包含 /(斜杠)的对象中 AJV 架构错误的输出是打印 ~1(波形符)而不是实际的属性名称。
{
"abc/def":{
"a":"b",
"c":"d"
}
}
假设在模式中,如果 c 被定义为整数,
那么错误就是
/abc~1def/c must be integer
应该做什么才能使输出变成:
/abc/def/c must be integer
您是否尝试过双重转义
"abc\\cdef"
键?
不幸的是,字符串替换是 AJV 中的一个已知问题:
https://stackoverflow.com/questions/30739738/json-schema-validation-with-escaped-characters-in-patterns-fails
https://github.com/ajv-validator/ajv/issues?q=is%3Aissue+is%3Aopen+%7E1