JSON模式生成器
免费在线使用 JSON模式生成器 无需安装即可使用工具
關於 JSON Schema 產生器
透過走訪範例 JSON 文件的結構來推斷 JSON Schema(draft-07)。產生器會偵測 null、boolean、integer 與 number、string、array 以及 object 型別;輸出 $schema 標頭;並允許您切換嚴格模式和額外屬性的處理方式。偵測到的根型別會顯示出來供參考。
如何使用
1. 將 JSON 樣本貼到 JSON Input 文字框中。 2. 切換 Strict Mode,以要求陣列擁有 minItems: 1。 3. 切換 Allow Additional Props,以控制物件上的 additionalProperties 旗標。 4. 點擊 Generate。 5. 從 Output Schema 卡片複製產生的 schema。
Schema 推斷規則
數字在 Number.isInteger 為真時被劃分為 integer,否則為 number。陣列僅從第一個元素推斷其 items schema;在嚴格模式下它們還會獲得 minItems: 1。物件在 properties 下列出每個鍵,並把每個鍵加入 required;當 Allow Additional Props 關閉時,物件還會獲得 additionalProperties: false。整個結果以 $schema: http://json-schema.org/draft-07/schema# 包裹。Root Type 欄位顯示 null、array、object、string、number、boolean 中的一種。
▶產生的是哪個 JSON Schema 草案?
Draft 07。每個輸出都以 "$schema": "http://json-schema.org/draft-07/schema#" 開頭,並使用相容 draft-07 的關鍵字(properties、required、items、minItems、additionalProperties)。
▶如何處理包含混合元素型別的陣列?
僅取樣陣列的第一個元素來推導 items schema。如果各元素結構不同,後續元素會被忽略,schema 可能無法涵蓋它們。
▶Strict Mode 是做什麼的?
它為每個陣列新增 minItems: 1,斷言陣列必須至少包含一個元素。除此之外它不會限制物件的形狀。
▶所有物件鍵都會被標記為 required 嗎?
是的。在範例物件中觀察到的每個鍵都會被加入該物件的 required 陣列,無論它是否在每個實例中都出現。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。