在JSON Schema
中有两种数字类型:integer
和number
。
integer
类型用来校验整数。
{ "type": "integer" } // a schema
42 // success
-12 // success
3.1415 // failure
"42" // failure
number
类型能用于任何数字,包括整数以及浮点数。
{ "type": "number" } // a schema
42 // success
-12 // success
3.1415 // success
"42" // failure
可以使用multipleOf
关键字将数字限制为给定数字的倍数。它可以设置为任何正数。
// a schema
{
"type": "number",
"multipleOf": 10
}
0 // success
10 // success
30 // success
23 // failure,不是10的倍数
可以使用以下关键字限制数字的范围:
x > min
。
当值为false(或者没有该属性)时,数字可以等于最小值,x >= min
。x < max
。
当值为false(或者没有该属性)时,数字可以等于最大值,x <= max
。// a schema,值应该是 0 <= x < 100
{
"type": "number",
"minimum": 0,
"maximum": 100,
"exclusiveMaximum": true
}
-1 // failure,值小于0
0 // success
1 // success
10 // success
99 // success
100 // failure,值必须小于100
101 // failure,值必须小于100