在什么是JSON Schema
中,介绍了什么是JSON Schema
,并且说明了为什么需要JSON Schema
。
这一章我们继续学习怎么编写一个简单的JSON Schema
。
学习一门新的语言,通常从简单的开始。学习JSON Schema
亦是如此,一个空的对象可以用来校验任何JSON
。
{}
它能校验任何东西:
42 // success
"This is a string." // success
{ "a": "string", "b": ["first", 4] } // success
当然,大多数情况下,我们只允许我们定义好的类型通过校验,这时候需要用到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" }