JSON Schema 生成器

JSON 数据 输入

1

JSON Schema 输出

设置
输入变化时自动生成已开启

生成 JSON Schema

在左侧输入 JSON 数据,即可自动生成对应的 JSON Schema

• 支持嵌套对象与数组

• 自动识别数据类型

• 生成基础校验规则

如何从 JSON 生成 JSON Schema(步骤指南)

使用在线 JSON Schema 生成器,从 JSON 样例生成 Schema,用于校验、文档与 API 合同。

  1. 步骤 1:提供 JSON 样例

    • 将具有代表性的 JSON 对象或数组粘贴到左侧编辑器。
    • 优先使用真实线上数据,让 Schema 更贴近实际结构。
    • 尽量覆盖所有可能的字段取值与嵌套结构。
  2. 步骤 2:检查生成结果

    • 右侧会输出推断后的 Schema(类型、required 与结构定义)。
    • 检查数组 items、嵌套对象与字段类型是否符合预期。
    • 确认必填/可选字段是否识别正确。
  3. 步骤 3:按需自定义(可选)

    • 复制生成的 Schema,补充更严格的校验规则、描述或约束。
    • 可补充 enum 值、 minLength/maxLength, 或 pattern 正则等约束。
    • 联合类型可使用 oneOf 或 anyOf 来表达多种可能。
  4. 步骤 4:使用 Schema

    • 下载或复制 Schema,用于校验器、API 文档工具或代码生成器。
    • 可集成 Ajv(JavaScript)、jsonschema(Python)等校验库进行运行时校验。
    • 在 OpenAPI/Swagger 中引用 Schema,或用它生成强类型代码。

快速建议

  • 上线前建议用 JSON 校验器或运行时校验库验证生成的 Schema 是否可用。
  • 尽量使用真实样例数据,生成器才能更准确地推断类型与 required。
  • 每个 payload(如 API 请求/响应)维护一份“标准 Schema”,避免环境差异带来的漂移。

Schema 关键字支持说明

如果你添加了更高级的关键字,例如 $ref, anyOf, oneOf, 或 allOf,建议用完整的 JSON Schema validator(例如 Ajv)做校验,并在生成 Mock 数据前考虑先进行 dereference。

示例:JSON → JSON Schema
// JSON input
{
  "id": 1,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "tags": ["developer", "backend"]
}

// Generated JSON Schema (simplified)
{
  "type": "object",
  "properties": {
    "id": { "type": "number" },
    "name": { "type": "string" },
    "email": { "type": "string" },
    "active": { "type": "boolean" },
    "tags": {
      "type": "array",
      "items": { "type": "string" }
    }
  },
  "required": ["id", "name", "email", "active", "tags"]
}

相关工具

搭配这些工具一起使用,完成校验、文档化与 Mock 数据生成。

常见问题

什么是 JSON Schema?

JSON Schema 是一套描述 JSON 结构与约束的规范,可用于注释与校验 JSON 文档。它相当于数据“合同”,明确字段类型、必填项与规则。

如何根据 JSON 生成 Schema?

把你的 JSON 数据粘贴到左侧输入框,系统会根据结构自动生成 Schema(类型、必填字段、嵌套层级等)。

生成的 Schema 包含哪些信息?

生成结果包含字段类型、required、数组 items、对象结构,以及基于样例推断出的基础约束(例如长度/范围等)。

我可以自定义生成后的 Schema 吗?

可以。生成后你可以复制 Schema 并按需补充约束、描述与校验规则,让它更贴合你的业务与工具链。