參考

本文件中使用的慣例

特定語言的注意事項

當從其他動態語言轉來時,JavaScript 和 JSON 中基本類型的名稱可能會令人困惑。我本身是一位 Python 程式設計師,所以我會在此註明當某些東西的名稱與 Python 中的名稱不同時,以及任何其他使用 JSON 和 JSON Schema 的 Python 特有建議。我絕不是想在這本書中建立對 Python 的偏見,但這是我所了解的,所以我從這裡開始。長遠來看,我希望這本書對各種程式設計師都有用,所以如果您有興趣將 Python 參考翻譯成 Algol-68 或您可能知道的任何其他語言,歡迎提出 pull request!

特定語言的章節會以每個語言的標籤顯示。一旦您選擇了一種語言,當您從一頁讀到另一頁時,該選擇將會被記住。

例如,這裡有一個特定語言的章節,其中包含在幾種不同語言中使用 JSON 的建議

特定語言資訊:
Python
Ruby
C
Objective-C
Swift
在 Python 中,可以使用標準函式庫中的 json 模組來讀取 JSON。

草稿特定的注意事項

JSON Schema 標準經歷了許多修訂或「草稿」。目前版本是 Draft 2020-12,但一些較舊的草稿仍然被廣泛使用。

本文撰寫的目的是鼓勵使用 Draft 2020-12,並優先考慮最新的慣例和功能,但如果它與較早的草稿不同,這些差異會在特殊的重點提示中突出顯示。如果您只想以 Draft 2020-12 為目標,您可以安全地忽略這些章節。

Draft 2020-12 的新功能
特定語言資訊:
Draft 2019-09
這是任何與舊草稿相關的事物會被提及的地方。

範例

本書中有許多範例,它們都遵循相同的格式。每個範例的開頭是一個簡短的 JSON schema,說明一個特定的原則,然後是簡短的 JSON 片段,這些片段對於該 schema 而言是有效或無效的。有效的範例以綠色顯示,並帶有勾號。無效的範例以紅色顯示,並帶有叉號。通常在它們之間會有註解,以解釋為什麼某些東西有效或無效。

這些範例會在每次建立本書時自動測試,所以希望它們不僅有幫助,而且是正確的!

這些範例會在每次建立本書時自動測試,所以希望它們不僅有幫助,而且是正確的!

例如,這裡有一個片段說明如何使用 number 類型

schema
{ "type": "number" }
資料
42
符合綱要
資料
-1
符合綱要

簡單的浮點數

資料
5.0
符合綱要

指數記號也適用

資料
2.99792458e8
符合綱要

字串形式的數字會被拒絕

資料
"42"
不符合綱要

需要協助嗎?

您覺得這些文件有幫助嗎?

幫助我們讓文件更完善!

在 JSON Schema,我們重視文件貢獻,如同其他類型的貢獻一樣!

仍然需要協助嗎?

學習 JSON Schema 通常會讓人感到困惑,但別擔心,我們在這裡提供協助!