JSON Schema & Mock

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`;外部引用仍需先展开。