JSON Schema 工具

如何使用 JSON Schema 工具(步驟指南)

使用 JSON Schema 來文件化 API 契約、驗證 JSON payload,並產生更貼近真實情境的 Mock 資料,用於測試與 Demo。

  1. 步驟 1:從真實範例開始

    • 先把真實的 API 回應、請求 payload 或設定 JSON 貼到格式化器中整理。
    • 每個 endpoint 建議維持一份「標準 JSON 範例」,避免 Schema 隨環境漂移。
  2. 步驟 2:產生基礎 Schema

    • 用 Schema 產生器推導型別、required 欄位與巢狀結構。
    • 上線前再補齊 description、format 與限制(min/max、pattern 等)。
  3. 步驟 3:用 Schema 驗證 JSON

    • 把 Schema 與真實 payload 貼到 Schema 驗證器中檢查。
    • 依錯誤內容調整 JSON(修 bug)或調整 Schema(契約變更)。
  4. 步驟 4:產生 Mock 資料做測試

    • 開啟 Mock 產生器,依 Schema 產生符合規則的範例 payload。
    • 使用 seed + batch size,讓測試資料可重現、也能批量擴充。
  5. 步驟 5:分享與重用

    • 把 Schema 放入版本控制,並在 API 文件中連結引用。
    • 以穩定的 JSON 範例產生 TypeScript/Java 等強型別程式碼。

關於 JSON Schema 進階功能的提醒

  • 部分 Schema 會依賴進階 keywords,例如 $ref, anyOf, oneOf, 以及 allOf
  • 不同 validator 對 drafts 與 keywords 的支援程度不一;若要嚴格符合契約,建議在 CI 中使用完整的 JSON Schema validator。
範例:JSON → JSON Schema(簡化版)
// JSON input
{
  "id": 1,
  "name": "Maeve Winters",
  "active": true,
  "tags": ["developer", "backend"]
}

// Generated schema (example)
{
  "type": "object",
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string" },
    "active": { "type": "boolean" },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    }
  },
  "required": ["id", "name", "active", "tags"]
}

相關的 JSON Schema 與驗證工具

搭配這些工具一起使用:產生 Schema、驗證資料、建立 Mock payload,並將穩定 JSON 轉為強型別程式碼。

常見問題

什麼是 JSON Schema?

JSON Schema 是用來註解與驗證 JSON 文件的詞彙(vocabulary)。它提供一份資料契約(contract),描述 JSON 需要哪些欄位、型別與結構,讓系統之間能更一致地交換資料。

什麼時候該產生 Schema,什麼時候該驗證?

當你只有 JSON 範例、想從現有資料推導出規則時,用產生器。當你已經有一份 Schema、想確認 JSON 是否符合契約時,用驗證器。

Schema 產生器與 Schema 驗證器有什麼不同?

Schema 產生器會從你的 JSON 資料建立新的 JSON Schema;Schema 驗證器則用既有的 JSON Schema 檢查你的 JSON 是否符合規則與限制。

可以使用其他工具產生的 Schema 嗎?

可以。工具支援常見的 JSON Schema 格式(Draft 4、6、7 與 2019-09),你可以從其他專案匯入 Schema,或匯出後用於其他工具鏈。

JSON Schema 工具 | JSONSwiss