【问题标题】:How do I get AJV (v5.0.0) to useJSON Schema 0.7?如何让 AJV (v5.0.0) 使用 JSON Schema 0.7?
【发布时间】:2018-12-08 03:19:57
【问题描述】:

我似乎找不到如何让 AJV 使用 0.7(或 0.6 或 0.4)。我认为是“$schema”关键字,但我找不到不会导致错误的字符串(URI)。

如果我是对的,我应该为有效的关键字“$schema”分配什么值?

如果我错了,还有其他方法可以表示版本,请告诉我。

提前感谢您的帮助。

【问题讨论】:

    标签: jsonschema ajv


    【解决方案1】:

    在 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]

    参考文献

    1. https://ajv.js.org/

    【讨论】:

    • 这是正确的。较新版本的 ajv 支持较新版本的 JSON Schema。
    猜你喜欢
    • 1970-01-01
    • 2020-07-19
    • 2018-11-25
    • 2019-04-26
    • 1970-01-01
    • 2018-03-04
    • 2021-04-21
    • 1970-01-01
    • 2019-04-08
    相关资源
    最近更新 更多