JSON Schema 生成器

从任何示例 JSON 自动生成 JSON Schema(Draft-07)。粘贴您的 JSON,立即获得有效的 Schema——无需注册。

缩进:

输入 JSON

生成的 Schema

您的 JSON Schema 将显示在此处

Share this tool

Help others discover JSON Schema Generator

关于 JSON Schema 生成器

工作原理

  • 在左侧面板粘贴或输入任何有效的 JSON
  • 工具递归分析每个键和值
  • 自动推断类型:string、number、integer、boolean、object、array、null
  • 所有存在的键都列在 "required" 数组中
  • 生成的 Draft-07 Schema 显示在右侧

常见使用场景

  • 启动 API 文档和 OpenAPI Schema
  • 在后端服务中验证 JSON 负载
  • 使用 json-schema-to-typescript 生成 TypeScript 类型
  • 在微服务之间创建严格的数据契约
  • 记录配置文件格式

常见问题

什么是 JSON Schema?

JSON Schema 是一种用于注释和验证 JSON 文档的规范。它描述 JSON 数据的结构、类型和约束,使输入验证、文档生成以及服务间数据契约共享变得更加容易。

此工具生成哪个 JSON Schema 草稿版本?

本工具生成 JSON Schema Draft-07,这是目前支持最广泛的版本,与 VS Code、Postman 和 OpenAPI 3.x 等主流验证器、编辑器和 API 工具兼容。

Schema 推断是如何工作的?

工具递归检查 JSON 中的每个值,为每个键确定 JSON 类型(string、number、integer、boolean、array、object 或 null),收集对象中的所有唯一键并将其标记为必填。数组项类型由第一个元素推断。所有操作在浏览器中完成,数据不上传服务器。

所有键都会被标记为必填吗?

默认情况下,示例 JSON 中存在的每个键都会被添加到 "required" 数组中。如果您的实际数据可以有可选字段,只需在生成的 Schema 中从 required 数组中删除这些键即可。

null 值如何处理?

当示例 JSON 中的值为 null 时,工具生成类型 "null"。如果该字段也可以包含其他类型,请在生成 Schema 后手动将类型改为数组,例如 ["string", "null"]。

可以从根级别的 JSON 数组生成 Schema 吗?

可以。如果您的 JSON 是顶级数组,生成的 Schema 将具有类型 "array",并包含从第一个元素推断的 "items" 子 Schema。

我的 JSON 数据会被发送到服务器吗?

不会。所有处理完全在您的浏览器中通过客户端 JavaScript 完成。您的 JSON 永远不会传输到我们的服务器,敏感数据保持私密。

生成的 Schema 可以用于 OpenAPI / Swagger 规范吗?

可以。OpenAPI 3.x 使用 JSON Schema Draft-07 的超集,因此本工具的输出可以直接粘贴到 OpenAPI 组件的 "schema" 部分,只需少量调整。

如果 JSON 有深层嵌套对象怎么办?

工具完全支持任意深度的嵌套 JSON 结构。每个嵌套对象都会获得自己的 "properties" 块,并带有正确的类型注释,嵌套深度没有硬性限制。

JSON Schema 中 "number" 和 "integer" 有什么区别?

JSON Schema 区分 "integer"(整数,如 1、42、-7)和 "number"(任何数值,包括小数,如 3.14)。本工具在采样值没有小数部分时自动使用 "integer",否则使用 "number"。

生成后可以自定义 Schema 吗?

当然可以。输出是可编辑的纯文本。常见的自定义包括添加 "description" 字段、用 "minLength"/"maxLength" 或 "pattern" 收紧字符串约束、添加 "enum" 数组以及调整 "required" 列表。

"additionalProperties: false" 选项有什么作用?

启用后,"additionalProperties: false" 会添加到 Schema 中的每个对象。这告诉验证器拒绝任何未在 "properties" 中明确列出的键,适合严格的 API 契约。

Share ToolsZone

Help others discover these free tools!

分享此页面

JSON Schema 生成器 — 在线从 JSON 推断 Schema