使用 z-schema 编译 JSON Schema Draft-03

Posted

技术标签:

【中文标题】使用 z-schema 编译 JSON Schema Draft-03【英文标题】:Compiling JSON Schema draft-03 with z-schema 【发布时间】:2015-06-01 15:48:58 【问题描述】:

我有一些 js 对象的草稿 -03 json 架构。

我正在使用 z-schema https://github.com/zaggino/z-schema 来验证 js 对象的架构。

我在它的 api setRemoteReference 的帮助下设置远程引用并从这里提供 Draft-03 模式对象 http://json-schema.org/draft-03/schema#

var ZSV = new ZSchemaValidator( breakOnFirstError: false );
ZSV.setRemoteReference('http://json-schema.org/draft-03/schema#', 
  // json object downloaded from draft-03 url
);

但是我调用 validate 方法它会抛出错误

["code":"REMOTE_NOT_VALID","params":["http://json-schema.org/draft-03/schema#"],"message":"Remote reference didn't compile successfully: http://json-schema.org/draft-03/schema#","path":"#/uri(http://json-schema.org/draft-03/schema)","inner":  ....

好像编译失败了。 但是从正宗源http://json-schema.org/draft-03/schema#下载的schema对象怎么会出错呢?

还是说,z-schema 无法有效编译draft-03?

所以我的问题是,如何使用 z-schema 验证 Draft-03?

【问题讨论】:

【参考方案1】:

如果问题是在 v4 工具中使用 v3 架构,那么您可以尝试 json-schema-compatibility。

它将架构标准化为 v4 - v3 架构已更新,v4 架构未更改。

(完全披露:我编写了工具)

【讨论】:

以上是关于使用 z-schema 编译 JSON Schema Draft-03的主要内容,如果未能解决你的问题,请参考以下文章

读薄《高性能MySql》Schem与数据优化

如何用角度示意图覆盖文件?

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

开发环境Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

告诉 typescript 编译 json 文件

无法编译 json 框架