HandyTools Hub

JSON Schema 生成器

从您的数据自动生成 JSON Schema

JSON Schema 生成器可以读取一份 JSON 样例,自动生成符合 Draft-07 规范的 Schema,把文档的结构——字段类型、嵌套对象、数组、必填字段、枚举值——全部描述出来。适合做接口校验、契约测试的开发者,以及需要给 JSON 数据写文档的团队,不用再手写整份 Schema。

如何使用

  • 粘贴 JSON: 把一段接口返回示例或配置对象粘进输入框。
  • 生成 Schema: 工具会递归遍历整个结构,为每个节点推断类型。
  • 检查结果: 核对推断出的类型、必填字段和枚举候选值。
  • 复制使用: 直接拿去配合 Ajv、Python 的 jsonschema 或接口文档流程使用。

功能特性

  • 生成带 $schema 声明的 Draft-07 标准输出
  • 区分整数(integer)和浮点数(number),识别 null 值
  • 递归处理任意深度的嵌套对象和数组
  • 数组元素里都出现的字段自动标记为 required
  • 取值集中在少数几个的字段自动建议 enum

什么是 JSON Schema?

JSON Schema 是一套用来描述”JSON 文档应该长什么样”的规范。一份 Schema 可以声明 user.name 必须是字符串、user.age 必须是整数、这两个字段都是必填。Ajv(JavaScript)、jsonschema(Python)这类校验库拿到 Schema 之后,就能对照检查进来的数据,把格式不对的请求挡在业务逻辑之外。

需要明确的是,生成的 Schema 只是起点,不是成品。推断能告诉你某个字段在样例里是整数,但它不知道这个值应该大于等于 0,也不知道某个字符串必须长得像邮箱。生成之后要自己审视一遍,补上 minimum、maxLength、pattern、format 这些反映真实业务规则的约束。另外记得提供信息完整的样例——样例里没出现的字段,Schema 里也不会有。

使用场景

  • 接口开发: 拿真实响应快速搭好请求/响应校验。
  • 契约测试: 先生成基线 Schema,接口演进时对比差异。
  • 写文档: 为开发者门户和 OpenAPI 规范产出 Schema 定义。
  • 数据管道: 用推断出的结构校验配置文件和队列消息。

相关工具

常见问题

该工具生成的JSON Schema版本是什么?

该工具生成的Schema兼容JSON Schema Draft-07($schema: http://json-schema.org/draft-07/schema#)。Draft-07被广泛支持,包括Ajv、jsonschema(Python)以及大多数API文档工具等验证库。

类型推断的准确度如何?

该工具根据JSON中的实际值推断类型。它可以区分整数和浮点数,检测空值,并递归分析嵌套的对象和数组。为获得最佳结果,请提供一个包含所有字段的完整样本。

能否为大型JSON文件生成Schema?

可以,该工具在浏览器中处理JSON,没有大小限制。然而,非常大的JSON结构(数万行)可能会导致性能变慢。对于典型的API响应Schema,性能是即时的。