# JSON Schema 生成器

从示例 JSON 自动推断 JSON Schema，支持手动调整并验证数据

> 标准页面: https://elysiatools.com/zh/tools/json-schema-generator

- **分类:** Development

- **关键词:** json, schema, 验证, 推断, api, 数据工程

## 概述

适合 API 开发者和数据工程师。可先自动推断，再粘贴调整后的 Schema 重新验证。

## 输入项

- **示例 JSON** (textarea): { "id": 1, "name": "Alice", "email": "alice@example.com", "roles": \["admin", "user"\], "profile": { "active": true } }
- **JSON Schema 草案版本** (select)
- **从数组推断枚举** (checkbox)
- **识别常见格式** (checkbox)
- **调整后的 Schema JSON（可选）** (textarea): { "type": "object", "properties": { "id": { "type": "integer" } }, "required": \["id"\] }
- **使用当前 Schema 校验示例数据** (checkbox)

## 适用场景

- 需要为现有的 API 响应数据快速编写规范化的 JSON Schema 时。
- 在进行数据建模或定义接口契约，需要从示例数据提取结构定义时。
- 修改了 JSON Schema 定义后，需要立即验证其是否兼容原始示例数据时。

## 工作原理

- 在“示例 JSON”区域粘贴您的数据对象。
- 勾选“从数组推断枚举”或“识别常见格式”以增强 Schema 的精确度。
- 点击生成后，系统将自动推断出 Schema，您可直接在“调整后的 Schema”中进行手动优化。
- 开启“使用当前 Schema 校验示例数据”功能，即可实时确认 Schema 与数据的匹配状态。

## 使用案例

- 快速生成 API 文档所需的 JSON Schema 定义。
- 将后端返回的复杂 JSON 响应转化为标准化的数据结构模型。
- 在开发过程中快速验证数据结构变更是否符合既定 Schema 规范。

## 常见问题

### 该工具支持哪些 JSON Schema 草案版本？

目前支持 2020-12 和 Draft-07 两个主流版本，您可以根据项目需求在选项中进行切换。

### “从数组推断枚举”有什么作用？

开启此项后，如果数组中的元素是固定的字符串或数字，工具会自动将其转换为 enum 类型，限制字段的可选值范围。

### 我可以手动修改生成的 Schema 吗？

可以。生成后您可以直接在“调整后的 Schema JSON”输入框中进行编辑，并重新运行校验以确保逻辑正确。

### 工具如何处理日期或邮箱等特殊格式？

勾选“识别常见格式”后，工具会自动检测字符串内容，若符合标准格式，将自动在 Schema 中添加 format 属性（如 date-time 或 email）。

### 校验功能会返回什么结果？

校验功能会返回一个包含验证状态的 JSON 对象，明确指出当前 Schema 是否能够成功验证您提供的示例数据。

## 相关工具

- [API 请求代码片段生成器](https://elysiatools.com/zh/tools/api-request-code-snippet-generator): 根据请求链接、方法、请求头、Query 参数和请求体生成 cURL 及常见开发语言的代码片段
- [OpenAPI 转 Postman Collection](https://elysiatools.com/zh/tools/openapi-to-postman-collection): 把 OpenAPI 3.x 或 Swagger 2.0 规范（JSON/YAML）转成可直接导入的 Postman Collection v2.1.0，含文件夹、变量、认证与示例响应。
- [OpenAPI 转 TypeScript 类型生成器](https://elysiatools.com/zh/tools/openapi-to-typescript-generator): 将 OpenAPI 或 Swagger 的 JSON/YAML 规范转换为 TypeScript 接口类型、请求参数类型和响应类型，并支持输出格式与命名风格配置
- [测试数据生成器](https://elysiatools.com/zh/tools/test-data-faker-builder): 通过字段配置批量生成结构化测试数据，支持 faker 字段、地址、信用卡、身份证、正则规则和导出
- [Data URI 生成器](https://elysiatools.com/zh/tools/data-uri-generator): 将文件转换为 Data URI（Base64 或百分号编码），用于直接在 HTML、CSS 或 Markdown 中内联图片、字体等资源
- [package.json 依赖审计器](https://elysiatools.com/zh/tools/package-json-dependency-auditor): 审计 package.json 的依赖卫生、版本范围质量，并可选地从 package-lock.json 或 yarn.lock 深入检查传递依赖树。会标记重复依赖、通配符或预发布版本、未排序键、缺失元数据，以及运行时/开发时依赖误分类问题。
- [CSV 转数据库迁移规划器](https://elysiatools.com/zh/tools/csv-to-database-migration-planner): 根据 CSV 数据推断关系型 schema，并为 PostgreSQL、MySQL、SQLite 或 SQL Server 生成建表和 ALTER 迁移计划
- [健身训练 PDF 生成器](https://elysiatools.com/zh/tools/fitness-workout-pdf-generator): 从 JSON 或 CSV 训练计划数据生成可打印 PDF，包含动作表格、进度格子和可选的视频二维码

## 示例

- [Terraform Plan JSON 样本](https://elysiatools.com/zh/samples/terraform-plan-json-samples): 用于依赖可视化和变更审查的 Terraform plan JSON 文件样本，贴近 terraform show -json 输出结构
- [聊天记录 JSON 示例](https://elysiatools.com/zh/samples/chat-transcript-json): 多角色聊天记录的 JSON 示例
- [JSON 示例](https://elysiatools.com/zh/samples/json): JSON（JavaScript 对象表示法）格式示例，从简单到复杂结构
- [富媒体 JSON 示例](https://elysiatools.com/zh/samples/rich-media-json): 常见富文本编辑器（TipTap、Quill、Slate）的 JSON 示例

## 相关内容

- [从 JSON 样本与电子表格推导 JSON Schema](https://elysiatools.com/zh/hubs/json-schema-inference-from-samples-and-spreadsheets): 从代表性的 JSON 样本或 XLSX 行数据生成可审阅的 JSON Schema 草案，再检查类型、必填性、空值和异常值，确认后才用于后续契约工作。
- [JSON 到强类型代码生成器](https://elysiatools.com/zh/hubs/json-to-typed-code-generators): 从 JSON 或 schema 证据生成 TypeScript、Go、Rust、Kotlin、Java、C# 与 Zod 校验模型。
- [API 契约定义、Schema 校验与变更测试](https://elysiatools.com/zh/hubs/api-contract-testing): 定义 API 契约，校验 Schema 和已捕获载荷，识别兼容性风险，并记录测试验收结果。
