JSON Mock 資料產生器

JSON Schema(輸入) 輸入

1

產生的 Mock 資料 輸出

設定
陣列數量3

控制 Faker 在 array 欄位內要產生多少筆物件。

可選欄位80%

控制非 required 欄位被包含的機率。

Seed

固定 seed 可讓 Faker 輸出可重現。

Locale

Faker 會依 locale 套件產生姓名、地址與電話等資料。

批次數量

一次產生多筆 top-level records;批次越大可能越耗時。

數值分佈

在 min/max 限制間平均分佈。

缺值機率0%

加入 null 或讓欄位完全缺失,以模擬不完整資料。

髒值機率0%

把部分原始型別值替換成像是「N/A」的字串,用於壓力測試驗證流程。

產生 Mock 資料

輸入 JSON Schema,即可產生更真實的 mock 資料用於測試與開發

支援常見 JSON Schema 型別

產生更貼近真實的假資料

可調整資料量與 locale

批次模式與資料不完美模擬

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

依 JSON Schema 產生更真實的 mock JSON,用於 API 測試、UI 原型、負載測試與契約導向開發。

  1. 步驟 1:提供 JSON Schema

    • 把 schema 貼到左側,或從檔案/URL/範例匯入。
    • 若可行,從你的真實 API schema 開始,讓 mock 資料更貼近正式環境。
  2. 步驟 2:讓 schema 更適合產生 mock

    • 避免不支援的 keywords,例如 $ref, dependencies, 以及 條件式 schema (if/then/else).
    • 如果你的 schema 使用 $ref, ,建議從能預載並 dereference schema 的工具開啟 Mock 產生器(例如在 code→schema 頁面點「產生 Mock 資料」)。
    • 盡量把 schema 聚焦在 type、properties、required、items、formats 與 constraints。
  3. 步驟 3:調整產生設定

    • 選擇 locale 以產生更自然的姓名、地址與電話。
    • 設定 seed 讓 mock 資料可重現(非常適合測試與 snapshots)。
    • 調整 batch size、array count、數值分佈與可選欄位機率。
    • 用 missing/dirty 模擬來測試驗證與 UI 錯誤處理。
  4. 步驟 4:產生並檢視輸出

    • 點擊「產生 Mock 資料」即可依 schema constraints 產生輸出。
    • 若數值看起來不合理,請收斂 schema(formats/enums/min/max)後再重新產生。
  5. 步驟 5:把 mock 資料用在測試與產生器

    • 複製或下載 JSON,作為 unit/integration tests 的 fixtures。
    • 把 mock JSON 丟進程式碼產生器(TypeScript/Java/etc.),產生對應 DTOs。

關於 JSON Schema 進階功能的提醒

  • 依賴 $ref, dependencies, if/then/else 的 schema 可能需要先簡化或 dereference,才能順利產生 mock。
  • 不同 validator 對 drafts 與 keywords 的解讀可能不同;若要嚴格契約測試,建議在 CI 使用完整 validator。
範例:JSON Schema → mock JSON
// JSON Schema (input)
{
  "type": "object",
  "properties": {
    "id": { "type": "string", "format": "uuid" },
    "email": { "type": "string", "format": "email" },
    "active": { "type": "boolean" },
    "createdAt": { "type": "string", "format": "date-time" }
  },
  "required": ["id", "email", "active", "createdAt"]
}

// Mock JSON (output example)
{
  "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
  "email": "[email protected]",
  "active": true,
  "createdAt": "2024-03-01T10:15:00.000Z"
}

相關 schema 與程式碼工具

產生 schema、驗證契約,並把穩定 JSON 範例轉為強型別程式碼。

常見問題

什麼是 mock 資料產生?

mock 資料產生會依 JSON Schema 建立更真實的假資料。當你需要符合資料結構的範例 payload 來做測試、開發或原型時非常實用。

產生器怎麼運作?

產生器會分析你的 JSON Schema,依型別、限制與 formats 產生符合規則的資料,支援 strings、numbers、booleans、arrays、objects,以及 email/date/UUID 等常見格式。

有哪些可調整的產生選項?

在設定面板可調整輸出:陣列大小、批次數量、locale、seed、數值分佈、可選欄位機率,並可模擬缺值或髒值來做健壯性測試。

支援哪些 Schema 功能?

支援基本型別、物件 properties、陣列、string formats、enums、const、min/max 限制,以及 anyOf/oneOf/allOf 等常見組合 keywords。若 Schema 使用 $ref、dependencies 或 if/then/else,可能需要先簡化或 dereference。

如何讓產生結果可重現?

使用 settings 中的 seed,就能每次產生相同資料。這對穩定的測試情境或重建特定資料集很有幫助。

可以控制資料量嗎?

可以。用 array count 控制欄位集合大小,用 batch size 控制 top-level records 數量;再搭配 optional/missing/dirty 等滑桿,模擬稀疏或雜亂資料集。

JSON Mock 資料產生器 | JSONSwiss