数字类型

JSON Schema中有两种数字类型:integernumber

integer

integer类型用来校验整数。

{ "type": "integer" }       // a schema
42          // success
-12         // success
3.1415      // failure
"42"        // failure

number

number类型能用于任何数字,包括整数以及浮点数。

{ "type": "number" }        // a schema
42          // success
-12         // success
3.1415      // success
"42"        // failure

Multiples

可以使用multipleOf关键字将数字限制为给定数字的倍数。它可以设置为任何正数。

// a schema
{
    "type": "number",
    "multipleOf": 10
}
0           // success
10          // success
30          // success
23          // failure,不是10的倍数

Range

可以使用以下关键字限制数字的范围:

  • minimum: 最小值。
  • exclusiveMinimum: 是一个boolean值,当值为true时,表示数字必须大于最小值,x > min。 当值为false(或者没有该属性)时,数字可以等于最小值,x >= min
  • maximum: 最大值。
  • exclusiveMaximum: 是一个boolean值,当值为true时,表示数字必须小于最大值,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

results matching ""

    No results matching ""