在什么是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" }