Json Schema

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json Schema相关的知识,希望对你有一定的参考价值。

参考技术A 定义了一系列关键字,元数据通过这些关键字来描述 Json 数据的规范。

一个非常流行的 JSON Schema 验证工具。
安装: npm install ajv -S , npm install ajv-errors -S
使用:

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

【中文标题】使用 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 架构未更改。

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

【讨论】:

以上是关于Json Schema的主要内容,如果未能解决你的问题,请参考以下文章

XML-Schema验证

greendao 左加入困境

avro tricks and pitfalls

如何计划 Snowflake 使用监控

预期 undefined 是 GraphQL 叶类型

Mongoose 为所有嵌套对象添加 _id