JSON Mock 数据生成器

JSON Schema(输入) 输入

1

生成的 Mock 数据 输出

设置
数组数量3

控制 Faker 在数组字段里生成多少个元素。

可选字段80%

控制非 required 字段被填充的概率。

Seed

固定 Seed 可复现 Faker 的输出。

Locale

Faker 会根据 locale 生成不同地区的姓名、地址与电话。

批次数量

一次生成多条顶层记录,批量越大耗时可能越长。

数字分布

在最小/最大约束之间均匀取值。

缺失值概率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 更适合生成

    • 尽量避免使用暂不支持的关键字,例如 $ref, dependencies, 以及 条件 Schema (if/then/else).
    • 如果你的 Schema 使用了 $ref, 可以尝试从支持预载并 dereference 的工具打开 Mock 生成器(例如在 code→schema 页面点击“生成 Mock 数据”)。
    • 让 Schema 主要包含 types、properties、required、items、formats 与约束。
  3. 步骤 3:配置生成参数

    • 选择 locale 生成更真实的姓名、地址与电话号码。
    • 设置 seed 让 Mock 数据可复现(适合测试与 snapshots)。
    • 调整 batch size、array count、数字分布与可选字段概率。
    • 用缺失值/脏值模拟测试校验与 UI 容错。
  4. 步骤 4:生成并检查输出

    • 点击“生成 Mock 数据”生成符合 Schema 约束的输出。
    • 如果值不合理,可收紧 Schema(formats/enums/min/max)后重新生成。
  5. 步骤 5:用于测试与生成

    • 复制或下载 JSON,作为单元/集成测试的 fixtures。
    • 将生成的 JSON 用于代码生成(TypeScript/Java 等),保持 DTO 与 payload 一致。

关于 JSON Schema 特性的提示

  • 使用了 $ref, dependencies, if/then/else 等关键字的 Schema,通常需要先简化或 dereference 后再生成 Mock 数据。
  • 不同校验器对 Draft 与关键字的解释不同;在 CI 中建议使用完整校验器进行严格合同测试。
示例: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、校验合同,并将稳定 JSON 样例转成强类型代码。

常见问题

什么是 Mock 数据生成?

Mock 数据生成会根据 JSON Schema 自动生成结构匹配、看起来真实的假数据,适用于测试、开发与快速原型。

生成器如何工作?

生成器会分析 JSON Schema,并按类型、约束与 format 生成符合规则的数据,支持 strings/numbers/booleans/arrays/objects,以及 email/date/UUID 等常见格式。

有哪些生成选项?

打开设置面板进行精细控制:数组数量、batch size、locale、seed、数字分布、可选字段概率,以及缺失值/脏值模拟,用于鲁棒性测试。

支持哪些 Schema 特性?

支持基础类型、对象 properties、arrays、string formats、enums、const、min/max 约束,以及 anyOf/oneOf/allOf 等组合关键字。使用 $ref、dependencies、if/then/else 的 Schema 可能需要先简化或 dereference 再生成。

如何让生成结果可复现?

在设置里固定 seed,即可每次生成相同的数据,方便测试场景复现与 snapshot。

可以控制数据量吗?

可以。用 array count 控制数组字段数量,用 batch size 控制顶层记录条数;可选字段概率、缺失值与脏值 slider 可模拟稀疏或脏数据。

JSON Mock 数据生成器 | JSONSwiss