跳到主要内容
← 返回

JSON Schema 生成器 - 在线 JSON 转 Schema

数据
本地运行 · 不上传

在线 JSON Schema 生成工具:粘贴 JSON 数据,自动生成对应的 JSON Schema 定义。支持嵌套对象、数组、类型推断,浏览器本地运行。

结果有帮助吗?

本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。

下一步

使用指南

只有 API 响应或配置样例时,手写 JSON Schema 又慢又易漏字段。本工具从 JSON 自动推导 Schema:识别类型、嵌套、数组元素与可空迹象,支持 Draft-07/2020-12,并可探测 format——用来起草稿,再人工收紧后投入校验。

1. 从样例生成

粘贴覆盖可选字段与边界值的代表性 JSON。按下游校验器选择 Draft-07 或 2020-12。需要邮箱/URI 线索时打开 format 探测,再复制到仓库或编辑器继续改。

  1. 粘贴代表性样例。
  2. 选择草稿版本。
  3. 按需探测 format 并复制。

2. 生成后必做精修

推导只描述出现过的形状。调整 required;补 minLength/pattern/minimum;枚举需业务确认后再写 enum。把精修点写进 PR,避免被人当成可冻结终稿。

  • 先 required 后格式。
  • 枚举确认闭集。
  • 分清 null 与缺字段。

3. Draft 怎么选

Draft-07 生态广;2020-12 更贴新工具链(如 prefixItems)。与现网 $schema 对齐,比追逐新编号重要。本页两种可出,但不保证所有校验器行为一致。

4. 工具链位置

生成器起稿、编辑器收紧、校验器用正反样例打回票。站内可串且本地运行。没有校验的 Schema 只是看起来专业的 JSON。

  • 不要跳过负例。
  • CI 用同一文件。
  • 文档与 Schema 同步更新。

5. 样例偏差

只贴快乐路径会对错误体、空数组、显式 null 盲视。准备成功、缺字段、空列表、以及会返回的 null,再合并约束或手写 oneOf/anyOf。覆盖率决定上限。

6. format 边界

启发式可能误标测试邮箱、内网 URI、自定义 ID。下游须启用 format 校验(如 ajv-formats)才生效;只写不启用等于没写。把误标当线索而非终契约。

常见问题

哪里都不去。生成完全发生在浏览器内,这里没有账号体系,也没有次数限制。

自动识别 string、integer、number、boolean、null、对象与数组:对象推导出 properties 和 required,数组按第一个元素推断 items;空数组只声明 type 为 array,异构数组建议手工补写。

两者可选。Draft-07 生态最广;2020-12 更贴新工具链(如 prefixItems)。选择依据是与你现网 $schema 对齐,而不是追新编号——同一 Schema 在不同校验器下行为未必一致。

需要邮箱、URI 线索时再开。探测是启发式的,可能误标测试邮箱、内网 URI 或自定义 ID——把结果当线索而非终稿;下游还需启用 format 校验(如 ajv-formats)才真正生效。

不能。推断只描述出现过的形状:required 要人工收紧,minLength、pattern、minimum 要自己补,枚举必须经业务确认是闭集后再写。把精修点记进 PR,防止有人把草稿当终稿冻结。

别只贴快乐路径。错误响应体、空数组、会显式返回的 null 都要备齐,否则生成的 Schema 对这些情况是盲的;差异大时合并多份样例,或手写 oneOf/anyOf。样例覆盖率决定 Schema 的上限。

相关工具

相关文章