这一章列出了所有可以用于其他JSON类型的属性。
JSON Schema
包含一个属性:title
、description
、default
,它们不是用来校验数据,而是用来描述schema。
title
和description
必须是字符串。title
可以用来做简要说明,
而description
可以用来完整的说明json数据的意义。
default
关键字用来指定默认值。一些JSON Schema
处理工具可以根据这个来添加缺省的默认值,
当然,有些JSON Schema
工具只是忽略default
关键字。
// a schema
{
"title" : "Match anything",
"description" : "This is a schema that matches anything.",
"default" : "Default value"
}
enum
关键字给定一组固定的值,而json数据的值只能在enum
给定的范围内,当然enum
值的每一项必须是唯一的。
// a schema
{
"type": "string",
"enum": ["red", "amber", "green"]
}
// success
"red"
// failure
"blue"
当不使用type
关键字的时候,enum
可以使用不同的类型。
// a schema
{
"enum": ["red", "amber", "green", null, 42]
}
// success
"red"
// success
null
// success
42
// failure
12
当然,正常情况下,json数据的值必须匹配enum
和type
关键字的值。
// a schema
{
"type": "string",
"enum": ["red", "amber", "green", null]
}
// success
"red"
// failure
null