JSON Schema & Mock
生成 JSON Schema,并根据 Schema 创建 Mock 数据。
输入
输出
说明
生成 JSON Schema,并根据 Schema 创建 Mock 数据。
查看常见用法与问题
核心能力
- JSON → JSON Schema
- required / strict object / format 推断
- 字段语义推断与扩展输出
- Schema → Mock Data
- 固定 / 随机样例生成策略
JSON 转 Schema 的控制参数
- 必填策略
- `all-observed`:把当前样本里出现过的字段都写进 `required`
- `none`:不输出 `required`
- `array-sample-based`:只把数组样本中每个对象都出现过的字段写进 `required`
- 严格对象:开启后对象节点会输出 `additionalProperties: false`;关闭时默认允许额外字段
- 推断 format:开启后会尝试补充 `email`、`uri`、`date`、`time`、`date-time`、`uuid`、`ipv4`、`ipv6` 等标准 `format`
- 语义推断:开启后会结合字段名和值内容补充语义识别,并在可表达时参与后续 Schema 输出
- 数值字符串
- `preserve-string`:保持 `"123"` 这类值为字符串
- `promote-primitive`:在没有前导零和超长数字风险时提升成 `integer` / `number` / `boolean` 语义
- 输出语义扩展:开启时会输出 `x-semantic-type`;关闭后仍可能保留标准 `format`,但不会保留这类扩展字段
Schema 转 Mock Data 的控制参数
- 重新生成:点击后会轮换内部 seed,在同一份 Schema 上得到另一组样例
- 值策略
- `fixed`:输出稳定示例值
- `random`:输出由 seed 驱动的伪随机结果
- 数组长度:控制生成数组时的目标长度,最终仍会受 Schema 中的 `minItems` / `maxItems` 约束裁剪
- 字段策略
- `all-properties`:生成 Schema 显式声明的全部字段
- `required-only`:只生成 `required` 中声明的字段
- 字段名兜底:当字段没有显式 `format` 或 `x-semantic-type` 时,会继续按字段名推断 `email`、`time`、`date-time`、`phone`、`price`、`age` 等语义
- 语义字符串生成:开启后优先结合 `format`、`x-semantic-type` 和字段名生成更贴近业务含义的字符串;关闭后回退为普通字符串示例
适用场景
- 从 JSON 样例生成 JSON Schema
- 根据 JSON Schema 快速生成 Mock 数据
- 为接口校验、文档或测试准备结构约束和样例
- 将 JSON 样例、Schema 与 Mock 串成一条连续建模链路
注意事项
- Schema 转 Mock 支持 `definitions` 和 `$defs` 中的本地 `$ref`;外部引用仍需先展开。
