Mock 数据生成器
贴一份示例 JSON,一键展开成 N 条结构同构、字段仿真的测试数据。
前端要一屏列表做开发,后端要一万条数据压测,测试要一份「看起来像真的」的接口响应——手写这些 JSON 又慢又假,满是 "test" 和 "aaa"。本工具反着来:你贴一份真实的示例(一条记录就够),它按结构展开成 N 条,字段值按键名语义替换成格式正确的仿真值——email 字段得到合法邮箱,created_at 得到合理日期,price 得到两位小数的金额。
值替换的依据是键名词表:name/email/phone/city/url/ip/uuid/date/price/status 等三十余个高频键名各配生成器,其余按叶子类型随机。API 响应形态(code/msg/data.list)会被识别为信封:列表展开、code 与 msg 原样保留。随机种子可指定,同样子输出完全一致,测试可复现。
为什么按键名而不是按类型生成
类型只能告诉你「这是字符串」,键名才能告诉你「这是谁的字符串」:user_name 与 url 都是字符串,但前者该是人名、后者该是链接。本工具用三十余条键名规则做语义判断,没有匹配上才退回按类型的随机值——这保证了数据的「像」,也是它比 typeof 随机实用的原因。
种子让测试可复现
随机数由种子驱动:种子相同,输出的每一个字节都相同。联调时把种子写进用例,前端拿到的数据与后端回放的数据完全一致,「偶现」的假数据差异被彻底排除。换一批数据,换个种子即可。
常见问题
- 生成的数据是真实的个人信息吗?
- 不是。所有人名、公司、邮箱域名都来自内置的虚构词表,邮箱域名固定在 example.com/test.org 一类保留域,不存在撞上真实个人的可能。
- 支持嵌套结构吗?
- 支持,任意深度。嵌套对象保持结构、叶子按语义替换;对象数组(如订单下的 items)在任意位置都会展开成指定条数。
- 能生成多少条?有上限吗?
- 单次上限 1000 条,覆盖绝大多数开发与联调场景。更大规模建议分段生成后拼接,避免浏览器内存压力。