JSON Schema 產生器

JSON 資料 輸入

1

JSON Schema(輸出) 輸出

設定
輸入變更時自動產生已啟用

產生 JSON Schema

在左側輸入 JSON,系統會自動產生對應的 JSON Schema

• 支援巢狀物件與陣列

• 自動偵測資料型別

• 產生驗證規則

如何由 JSON 產生 JSON Schema(步驟指南)

使用此線上 JSON Schema 產生器,從 JSON 樣本資料建立 Schema 定義,用於驗證、文件與 API 契約。

  1. 步驟 1:提供 JSON 樣本

    • 在左側貼上具有代表性的 JSON 物件或陣列。
    • 盡量使用接近正式環境的資料,讓推導出的 Schema 更準確。
    • 包含可能出現的欄位值與巢狀結構,避免漏掉分支。
  2. 步驟 2:檢視產生的 Schema

    • 右側會顯示推導出的型別、required 欄位與結構定義。
    • 確認陣列 items、巢狀物件與各欄位型別是否符合預期。
    • 檢查 optional vs required 是否判斷正確。
  3. 步驟 3:自訂 Schema(可選)

    • 複製產生的 Schema,補上更完整的描述與限制。
    • 加入 enum 值與限制, minLength/maxLength, 或 pattern 在需要時加入 regex。
    • 用 oneOf 或 anyOf 表達 union 型別。
  4. 步驟 4:使用 Schema

    • 下載或複製 Schema,搭配 JSON validators、API 文件工具或程式碼產生器使用。
    • 可整合 Ajv(JavaScript)、jsonschema(Python)等驗證套件。
    • 在 OpenAPI/Swagger 中引用,或用來產生 type-safe 程式碼。

Schema 產生小技巧

  • 上線前先用完整的 JSON Schema validator 或你的 runtime library 驗證一次。
  • 樣本越接近真實資料,越能推導出正確型別與 required 欄位。
  • 同一個 payload(例如 request/response)建議維持單一「權威 Schema」,避免環境差異。

Schema keywords 支援說明

若你加入進階 keywords(例如 $ref, anyOf, oneOf, 或 allOf),建議使用完整的 JSON Schema validator(例如 Ajv)驗證,並在產生 Mock 資料前視需要先 dereference。

範例:JSON → JSON Schema
// JSON input
{
  "id": 1,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "tags": ["developer", "backend"]
}

// Generated JSON Schema (simplified)
{
  "type": "object",
  "properties": {
    "id": { "type": "number" },
    "name": { "type": "string" },
    "email": { "type": "string" },
    "active": { "type": "boolean" },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    }
  },
  "required": ["id", "name", "email", "active", "tags"]
}

相關的 JSON Schema 與驗證工具

搭配這些工具一起使用 Schema 產生器,強化驗證、文件化與 JSON 工作流程。

常見問題

什麼是 JSON Schema?

JSON Schema 是用來註解與驗證 JSON 文件的詞彙,能以契約方式描述資料結構、型別與限制。

如何從 JSON 產生 Schema?

把 JSON 貼到左側輸入區,工具會依你的資料結構自動產生 Schema(型別、required 欄位、結構與可能的 patterns)。

產生的 Schema 會包含哪些資訊?

包含資料型別、required properties、陣列 items 定義、物件結構與依據樣本推導出的驗證限制。

我可以自訂產生後的 Schema 嗎?

可以。你可以複製產生的 Schema,依需求補上更精準的 constraints、描述與驗證規則。