JSON

JSON模式

JSON模式

JSON Schema是用於注釋和驗證JSON文檔的詞彙表。它是用於定義JSON數據結構的基於JSON格式的規範。它描述了您現有的數據格式,並提供了清晰的人類和機器可讀的文檔。它驗證對自動化測試有用的數據,進而確保客戶端提交的數據的質量。

我們將驗證中的JSON文檔稱為實例,而包含描述的文檔稱為模式。最基本的模式是一個空白的JSON對象,它不限製任何內容,不允許任何內容,也不描述任何內容。如下圖所示:

{}

根據您的需求,您可以通過向模式添加驗證關鍵字來對實例應用約束。例如," type "關鍵字可用於將實例限製為對象、數組、字符串、數字、布爾值或null:

{"type": "string"}

讓我們編寫一個基本的JSON模式,其中包含7個被稱為關鍵字的屬性,這些屬性被表示為驗證員工記錄的JSON鍵。

美元的模式關鍵字指出該模式是根據標準的特定草案編寫的,並用於各種原因,主要是版本控製。

$ id關鍵字定義了模式的URI,以及模式中其他URI引用解析的基本URI。

標題而且描述注釋關鍵字不會向正在驗證的數據添加約束。它們增加了可讀性。

類型validation關鍵字定義了JSON數據上的第一個約束,在這種情況下,它必須是一個JSON對象。我們的框架圖式是這樣的

{"$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://www.jio.com/cloud_engineering/employee_record.schema.json", "title": "員工記錄","description": "一條員工記錄","type": "object"}

因此,我們有2個模式關鍵字,即$schema和$id;2模式注釋,即標題和描述;1驗證關鍵字,即類型。現在是時候添加一些屬性及其驗證了。

沒有員工代碼和電子郵件id的員工記錄是不完整的。這兩個屬性是必需的。我們把它們加起來。

{"$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://www.jio.com/cloud_engineering/employee_record.schema.json", "title": "員工記錄","description": "一條員工記錄","type": "object" "properties": {"fname": {"description": "員工的名字","type": "字符串"}"lname": {"description": "員工的姓氏","type": "字符串"}"employeeid": {"description": "每個員工的唯一代碼","type": "integer"}, "email-id":{"description": "每位員工的公司官方郵箱id", "type": "string"}, "required": ["fname", "lname", "employeeid", "email-id"]}

一個財產是JSON模式中的驗證術語,必須是對象。該對象的每個值必須是有效的JSON Schema。所需的驗證器告訴我們必須定義這個屬性。required關鍵字的值必須是唯一字符串的數組。如果數組中的每個項都是實例中屬性的名稱,則對象實例針對此關鍵字有效。

要進一步探索,可以閱讀在這裏

Baidu
map