【发布时间】:2018-12-08 03:19:57
【问题描述】:
我似乎找不到如何让 AJV 使用 0.7(或 0.6 或 0.4)。我认为是“$schema”关键字,但我找不到不会导致错误的字符串(URI)。
如果我是对的,我应该为有效的关键字“$schema”分配什么值?
如果我错了,还有其他方法可以表示版本,请告诉我。
提前感谢您的帮助。
【问题讨论】:
标签: jsonschema ajv
我似乎找不到如何让 AJV 使用 0.7(或 0.6 或 0.4)。我认为是“$schema”关键字,但我找不到不会导致错误的字符串(URI)。
如果我是对的,我应该为有效的关键字“$schema”分配什么值?
如果我错了,还有其他方法可以表示版本,请告诉我。
提前感谢您的帮助。
【问题讨论】:
标签: jsonschema ajv
在 Ajv 网站上,他们建议您告诉 Ajv v6 使用非默认架构:
请注意:要将 Ajv 与 Draft-06 架构一起使用,您需要将元架构显式添加到验证器实例:[1]
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'));
如果您安装 Ajv v5 并查看 lib/refs 文件夹,draft-07 架构不可用:
$data.json
json-schema-draft-04.json
json-schema-draft-06.json
json-schema-v5.json
所以我认为你不能应用类似的技术来处理带有 Ajv v5 的 Draft-07,这可能是你为此苦苦挣扎的原因。
我的建议是使用 Ajv v6,因为它默认与 Draft-07 一起使用:
支持draft-07 的Ajv 6.0.0 版已发布。 [1]
参考文献
【讨论】: