参考

类型特定关键字

type 关键字 是 JSON Schema 的基础。它指定了模式的数据类型。

在核心上,JSON Schema 定义了以下基本类型

这些类型在大多数编程语言中都有类似物,尽管它们可能使用不同的名称。

特定语言的信息:
Python
Ruby
Perl
Objective-C
Swift

下表将 JSON 类型名称映射到 Python 中的类似类型

JSONPython
字符串字符串 *1
数字int/float *2
对象字典
数组列表
布尔值布尔值
空值None

脚注

[#1] 由于 JSON 字符串始终支持 Unicode,因此它们类似于 Python 2.x 上的 unicode 和 Python 3.x 上的 str

[#2] JSON 没有为整数和浮点数定义单独的类型。

type 关键字可以是字符串或数组

  • 如果它是一个字符串,则它是上面基本类型之一的名称。
  • 如果它是一个数组,则它必须是一个字符串数组,其中每个字符串都是基本类型之一的名称,并且每个元素都是唯一的。在这种情况下,如果 JSON 片段与给定的类型中的任何类型匹配,则它就是有效的。

这是一个使用 type 关键字的简单示例

模式
{ "type": "number" }
数据
42
符合模式
数据
42.0
符合模式
数据
"42"
不符合模式

在下面的示例中,我们接受字符串和数字,但不接受结构化数据类型

模式
{ "type": ["number", "string"] }
数据
42
符合模式
数据
"生命、宇宙和一切"
符合模式
数据
["Life", "the universe", "and everything"]
不符合模式

对于每种类型,都有一些只适用于该类型的关键字。例如,数字类型有指定数字范围的方法,而这对于其他类型则不适用。在本参考中,这些验证关键字将在以下章节中与各自的类型一起描述。

需要帮助?

您觉得这些文档有用吗?

帮助我们使我们的文档更出色!

在 JSON Schema,我们珍视文档贡献,就像其他任何类型的贡献一样!

仍然需要帮助?

学习 JSON Schema 通常令人困惑,但不要担心,我们在这里提供帮助!