object


{ "key": "value" }
{ 1: "123" }
"123"

properties

定义各种键和他们的值类型
{ "name": "busyhe" "age": 123 }
{ "name": "busyhe" }
{}
{ "name": "busyhe", "age": 123, "gender": "男" }
{ "name": 12 }

required

存放必要属性列表
{ "name": "busyhe", "gender": "男" }
{ "age": 123 }

maxProperties

限制属性值得最大数量,参数为非负整数

minProperties

限制属性值得最小数量,参数为非负整数
{ "name": "busyhe", "age": 123 }
{ "name": "busyhe", "age": 123, "gender": "男" }
{ "name": "busyhe" }
{ "name": "busyhe", "age": 123, "gender": "男", "height": 183 }

additionalProperties

控制是否允许 properties 列出的其他的属性,默认允许其他属性,如果为对象,则该对象是将用于验证未在中列出的任何其他属性的架构properties。
{ "name": "busyhe", "age": 123 }
{ "name": "busyhe", "age": 123, "gender": "男", "height": 183 }
{ "name": "busyhe", "age": 123, "gender": "男" }

propertyNames

如果待校验JSON对象中的每个一级key都能通过该关键字指定的JSON Schema的校验,那么才认为待校验的JSON对象通过校验。
eg:
{ "_asd_001": "123" }
{ "_asd 001": "123" }

dependencies

确定依赖关系
  • 属性依赖,标识一个属性对另一个属性的依赖
  • 模式依赖

patternProperties:

array


Items

该关键字的值是一个有效的JSON Schema或者一组有效的JSON Schema
[1, 2, 3, 4, 5]
[1, 2, "3", 4, 5]

additionalItems

关键字是否允许超出所定义的项目,false则是不允许在数组中添加其他项

contains

针对数组中的一个或者多个验证

minItems

限制数组最小长度,每个关键字必须为非负数

maxItems

限制数组最大长度,每个关键字必须为非负数

uniqueItems

确保数组中的每一项都是唯一的
[1, 2, 3, 4, 5]
[]
[1, 2, 3, 3, 4]

string

minLength

字符串最小长度。

maxLength

字符串最大长度。

pattern

限制一个字符串转换为特定的正则表达式
"555-1212"
"(888)555-1212 ext. 532"

format

关键字允许对某些类型的字符串值通常用于基本的语义验证。
  • "date-time" :2018-11-13T20:20:39+00:00。
  • "time" :20:20:39+00:00
  • "date" :2018-11-13。
  • "email" : 互联网电子邮箱
  • "idn-email" :Internet电子邮箱地址的国际化形式
  • "hostname":互联网主机名
  • "idn-hostname":国际化internet主机名
  • "uri"
  • "uri-reference"
  • "iri"
  • "iri-reference"
  • "uri-template"
  • "json-pointer"
  • "relative-json-pointer"

boolean


number / integer


integer

该integer类型用于整数。
42
-1
3.1123
integer:类型用于整数,在javascript中 1.0 也是被允许的,在python则否, 为避免这种情况,使用 multipleOf 关键字可在所有的模式上实现相同的行为

number

可用于任何数字类型,整数或浮点数
42
-1
3.14
"42"

multipleOf

关键字可以将数字限制为给定数字的倍数 。可以将其设置为任何正数
0
10
20
-20
23
2

maximum

表示取值范围应该小于或等于maximum

exclusiveMaximum

小于不等于

minimum

表示取值范围应该大于或等于minimum

exclusiveMinimum

大于不等于

null


表示缺失值
badge