JSON
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"profile": {
"type": "object",
"properties": {
"age": {
"type": "integer"
},
"city": {
"type": "string"
}
},
"required": [
"age",
"city"
]
}
},
"required": [
"id",
"name",
"active",
"tags",
"profile"
]
}关于 JSON 转 JSON Schema
JSON Schema 是描述和校验 JSON 数据结构的事实标准,但手写 schema 既繁琐又容易遗漏字段。本工具在浏览器本地解析样例 JSON,自动推断出符合 Draft-07 规范的 schema:包含每个字段的类型、对象的 properties 与 required 列表、数组的 items 类型。所有推断在本地完成,数据不上传。 建议在日常开发中收藏本工具,遇到数据格式转换需求时即可快速打开使用。所有转换均在浏览器本地完成,数据不会上传,可放心粘贴敏感内容。
使用场景
- 接口契约校验 — 为 API 请求/响应生成 schema,用于运行时校验,拦截不合法的数据。
- 表单与配置校验 — 把配置样例转成 schema,配合 ajv 等库校验用户输入或配置文件。
- 生成 OpenAPI 片段 — 快速得到 schema 作为 OpenAPI/Swagger 文档中 components 的基础。
- 数据质量门禁 — 在数据管道中用 schema 做入口校验,保证下游消费的数据结构稳定。
- 团队结构对齐 — 用 schema 作为前后端共享的结构契约,减少沟通成本。
常见问题
生成的是哪个版本的 schema?
默认输出 JSON Schema Draft-07,兼容 ajv 等主流校验库。复制后可按需改成其它草案版本。
所有字段都会被标记 required 吗?
可以通过「标记 required」开关控制。开启时样例中出现的字段都会列入 required;如有可选字段,关闭后再手动调整更合适。
数组里类型不一致怎么处理?
当数组元素类型不同,工具会用 anyOf 列出各种可能的子 schema,尽量贴合真实数据。
整数和小数会区分吗?
会。整数推断为 integer,带小数的数字推断为 number,便于更精确的校验。
可以校验我的 JSON 吗?
本工具负责生成 schema。生成后你可以用 ajv、jsonschema 等库,或在线校验器对真实数据进行校验。
有浏览器兼容性要求吗?
本工具兼容所有现代浏览器(Chrome、Firefox、Edge、Safari),无需安装任何插件或扩展。
可以离线使用吗?
首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。