JSON Schema 生成器

将具有代表性的 JSON 数据转换为可编辑的 Draft 2020-12 Schema,并推断类型、对象属性、数组和必填字段。

生成器不会轻易推断枚举、取值范围或禁止额外属性等严格约束。用于验证正式数据前,请先检查并编辑结果,尤其是示例只有一条记录时。

如何生成 JSON Schema

  1. 将一个 JSON 对象或非空对象数组粘贴到输入框。
  2. 选择是否推断常见字符串格式,然后点击“生成 Schema”。
  3. 检查并编辑生成的 Schema,然后复制或下载。

JSON Schema 生成器常见问题

如何推断必填属性?

某个字段在所有示例对象中都出现时,会被推断为必填字段。如果只有一个对象,由于没有证据表明字段可以省略,该对象中的所有字段都会被标记为必填。

如何处理 null 和混合值类型?

如果示例同时包含 null 和另一种值类型,生成的 type 会包含 null。数组中的混合值也会合并为类型列表,而不是被强制归为单一类型。

可以识别哪些字符串格式?

启用格式推断后,所有示例都一致匹配的字符串可标记为 date、date-time、time、UUID、email、IPv4 或 URI。如果示例不一致或含义不明确,则不会添加 format。

可以使用什么样的 JSON 示例?

可以使用一个 JSON 对象,或仅包含对象的非空数组。对象数组有助于判断共同的必填字段。空的嵌套数组没有元素示例,因此 items 会保持开放。

我的示例 JSON 会上传吗?

不会。示例由本工具直接在当前浏览器标签页中解析并生成 Schema,你的 JSON 不会上传到服务器。

相关工具: JSON Schema 验证工具 · JSON 格式化工具