📐

JSON 转 JSON Schema

从样例 JSON 一键生成 JSON Schema(Draft-07),自动推断 properties、required 与数组 items 类型。适合为接口契约建档、配置 ajv 运行时校验与生成表单,中台与后端约定数据格式时规范化。

已生成
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),无需安装任何插件或扩展。

可以离线使用吗?

首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。