基础

什么是JSON Schema中,介绍了什么是JSON Schema,并且说明了为什么需要JSON Schema。 这一章我们继续学习怎么编写一个简单的JSON Schema

Hello World

学习一门新的语言,通常从简单的开始。学习JSON Schema亦是如此,一个空的对象可以用来校验任何JSON

{}

它能校验任何东西:

42      // success
"This is a string."     // success
{ "a": "string", "b": ["first", 4] }        // success

Type关键字

当然,大多数情况下,我们只允许我们定义好的类型通过校验,这时候需要用到type关键字。

如下,值允许string通过校验:

{ "type": "string" }        // a schema
"This is a string."     // success
42          // failure
{ "a": "string" }       // failure

更多的type定义详见Type定义

声明JSON Schema

因为JSON Schema本身就是JSON,所以一个JSON数据并不能很好区分出来它是一个JSON Schema还是一个JSON数据。 $schema关键字用来声明当前数据到底是一个JSON Schema还是一个JSON,当然,它并不是必须的。

{ "$schema": "http://json-schema.org/schema#" }

还可以使用此关键字来声明架构所写入的JSON Schema的规范属于哪个版本。 更多内容参见$schema关键字

声明一个唯一标识

当然,一般情况下会使用id属性为是为每一个JSON Schema添加一个唯一标识。 一般会使用你拥有的url作为唯一标识:

{ "id": "http://yourdomain.com/schemas/myschema.json" }

构建一个复杂的模式中,你可以学习有关id属性的知识。

results matching ""

    No results matching ""