这一章列出了所有可以用于其他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