JSON Schema 生成

根据一段示例 JSON 自动推断并生成 JSON Schema,支持嵌套对象与数组元素类型推断。

拖拽文件到此处
也可以点击下方按钮选择本地文件
支持 .json / .txt / .csv,最大 10 MB,仅在浏览器本地解析
Schema Draft
两个 Draft 的核心结构一致,仅 $schema 标识不同(不为制造差异加入无意义字段)。
Required 字段
对象属性
单个样例无法判断业务必填,建议生成后按实际需要手动调整 required。
所有数据均在浏览器本地处理,不会上传服务器。

从 JSON 数据自动生成 Schema

JSON Schema 是什么

JSON Schema 是用 JSON 描述 JSON 数据结构、字段类型和约束规则的规范。它可以用于接口参数校验、配置文件检查、数据验证以及 API 文档中的结构描述。本工具根据已有 JSON 数据自动推断结构并生成 JSON Schema,适合快速建立初始 Schema。

JSON 怎么生成 Schema

把 JSON 数据粘贴到输入框,或上传本地 JSON 文件,选择 Schema Draft 和字段选项后点击生成。工具会根据输入数据识别对象、数组、字符串、数字、布尔值和 null 等 JSON 类型,并按照实际嵌套结构生成对应的 Schema。

Draft 2020-12 和 Draft-07 有什么区别

Draft 2020-12 和 Draft-07 是不同版本的 JSON Schema 规范。生成 Schema 时应根据目标校验器、开发框架或项目现有 Schema 版本选择对应 Draft。如果项目没有明确要求,可以先使用较新的 Draft 2020-12,再根据实际运行环境调整。

生成的字段为什么会变成 required

开启“全部字段 required”后,工具会把输入 JSON 对象中的字段加入 required 数组,表示校验时这些字段必须存在。关闭后则不会自动把字段加入 required。需要注意,required 表示字段是否存在,并不表示字段值不能为空。

additionalProperties 是什么

additionalProperties 用于控制对象是否允许出现 Schema 中没有定义的额外字段。允许时,输入对象可以包含未列出的属性;禁止时,额外属性会被校验器视为不符合 Schema。生成 Schema 时可以根据接口是否要求严格字段控制来选择。

嵌套对象和数组怎么生成

对于嵌套对象,工具会继续生成对应的 properties 结构;对于数组,则根据数组元素生成 items 定义。数组中的对象会继续分析其字段和嵌套层级,因此可以从实际 JSON 示例快速建立较完整的结构 Schema。

为什么生成的 Schema 只是初始规则

自动生成只能根据当前 JSON 示例推断结构,不能从单个样本准确判断所有业务约束。例如一个字段当前是数字,并不代表未来只能取某个范围;一个字段在当前样本中存在,也不一定意味着业务上永远必填。因此生成 Schema 后,建议根据实际接口规则进一步补充格式、范围、枚举值和字段描述等约束。

怎么生成本地 JSON 文件的 Schema

切换到上传文件页签,把 JSON 文件拖入上传区域或选择本地文件。文件由浏览器读取并解析,生成结果直接显示在页面中,不需要把 JSON 文件发送到服务器。生成后的 Schema 可以复制或下载,用于后续接口校验或项目配置。

生成 Schema 后怎么使用

生成的 Schema 可以保存为 JSON 文件,并交给支持 JSON Schema 的校验器使用。实际接入项目时,应确认项目使用的 Draft 版本以及校验器对相关关键字的支持情况。如果需要检查某份 JSON 是否符合 Schema,可以继续使用 JSON Schema 校验工具。

JSON 怎么自动生成 JSON Schema?

把 JSON 数据粘贴到工具中,选择 JSON Schema Draft 版本以及 required、additionalProperties 等选项,工具会根据 JSON 的实际结构自动生成 Schema。

生成结果适合作为接口校验、数据验证或项目配置的 Schema 初稿;正式使用前,应根据业务规则补充字段格式、范围、枚举等约束。

  • 根据 JSON 数据自动推断对象、数组、字符串、数字、布尔值和 null 等类型
  • 从嵌套对象和数组结构生成对应的 properties 与 items
  • 支持 JSON Schema Draft 2020-12 与 Draft-07
  • 可选择是否将输入对象中的字段全部设为 required
  • 可选择是否允许对象出现 Schema 未定义的额外属性
  • 全部在浏览器本地完成,输入内容不上传服务器
已经有 JSON Schema 并想检查数据是否符合规则,可以使用 JSON Schema 校验;需要查询 JSON 字段可以使用 JSONPath 查询;需要比较两份 JSON 的结构和内容可以使用 JSON Diff。
评论 0
暂无评论,快来发表第一条评论吧
avatar
评论内容不能为空
0/255