JSON 转 JSON Schema

转换器

从样例 JSON 一键生成 JSON Schema(Draft-07),自动推断 properties、required 与数组类型,适合为接口契约建档与运行时校验。

已生成
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 转 JSON Schema 工具根据一段示例 JSON 自动推断字段类型、是否必填与嵌套结构,生成符合 Draft-07 或 2020-12 规范的 JSON Schema。它能显著降低手写 Schema 的成本,帮助你为接口请求体、配置文件或数据管道快速建立校验规则。推断结果可在右侧编辑微调,并复制粘贴到代码或表单校验库中。解析完全在浏览器本地进行,示例数据不会上传,适合处理含有业务字段定义的敏感样例。生成的 Schema 同时可作为文档,让前后端对数据结构达成共识,也便于接入 Ajv 等校验库做运行时数据质量把关。对于接口文档自动化,导出的 Schema 还能直接挂到 OpenAPI 里作为请求体定义复用;它既可作为运行时校验规则接入 Ajv 等库,也能当作前后端对数据结构的书面约定,减少因字段类型不一致导致的联调返工与潜在的线上数据质量问题。

使用方法

  1. 打开 JSON 转 JSON Schema 工具页面
  2. 根据需求输入或粘贴数据到输入区域
  3. 查看实时处理结果,使用复制按钮获取输出

使用场景

  • 接口契约校验 — 为 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 等库,或在线校验器对真实数据进行校验。

广告

评论与讨论

还没有评论,来抢沙发吧!

评论仅保存在你的浏览器本地,切换设备后不可见。配置 Giscus 后可支持云端评论。