參考
類型專屬關鍵字
type
關鍵字是 JSON Schema 的基礎。它指定 schema 的資料類型。
JSON Schema 的核心定義了以下基本類型
這些類型在大多數程式語言中都有對應的類型,儘管它們可能有不同的名稱。
語言專屬資訊:
Python
Ruby
Perl
Objective-C
Swift
下表將 JSON 類型的名稱對應到它們在 Python 中的對應類型
JSON | Python |
---|---|
字串 | 字串 *1 |
數字 | 整數/浮點數 *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
資料
"生命、宇宙和一切"
資料
["生命", "宇宙", "和一切"]
針對這些類型中的每一個,都有僅適用於這些類型的關鍵字。例如,數值類型有一種指定數值範圍的方法,這不適用於其他類型。在本參考資料中,這些驗證關鍵字會在以下章節中與它們各自的類型一起描述。