YamlBox

JSON 工具

JSON 至 JSON 模式生成器

粘贴示例有效负载并获取现成的 JSON 架构来记录它并验证未来的数据。数组项会被合理地合并,并且会自动检测必填字段。

转换选项

样本JSON

示例: API 有效载荷 · 记录数组 —⌘/Ctrl + Enter 转换 · 拖放文件以加载它 · 本地处理

JSON 架构

输出是只读的。使用复制、下载或共享将其移出。

如何使用 JSON 至 JSON 架构 工具

  1. 粘贴有代表性的样本

    样本越丰富,架构就越好——包括可选字段、空值和至少两个数组项,以便可以合并它们的形状。

  2. 选择草稿

    Draft-07 几乎得到所有验证者和编辑者的支持; 2020-12 是当前规范。根据您的工具链进行选择。

  3. 使用架构

    将其粘贴到 AJV、Prisma、OpenAPI 组件块或编辑器的架构设置中,以进行即时验证和自动完成。

这个工具有何不同

  • 将数组项合并到具有常见必填字段的单个架构中
  • 正确的整数与数字检测
  • 可选标题、draft-07 或 2020-12 输出
  • 递归推断任意深度的嵌套对象和数组
  • 没有数据离开浏览器——对于真实的客户负载来说是安全的

按架构划分的隐私: 此页面不包含接收您输入的分析,并且转换代码在您的选项卡中运行。加载后您可以断开网络并继续工作。

JSON 至 JSON 架构 — 常见问题

推断的 JSON 模式有多准确?

您提供的样本的类型和结构是准确的。推理无法知道的是业务规则——年龄必须为正,或者字段是枚举。将输出视为强有力的起点并手动添加约束。

如何处理具有不同项目形状的数组?

项目模式被合并:每个项目中存在的属性成为必需的,并且仅某些项目中存在的属性保持可选。类型差异产生联合,例如类型:[“字符串”,“数字”]。

我应该选择 Draft-07 还是 2020-12?

如果您的验证器是 AJV 6/7、较旧的编辑器或最近未更新的任何内容,请选择 Draft-07 — 它拥有最广泛的支持,并且是大多数 OpenAPI 3.0 工具所期望的。选择 2020-12 新项目和 AJV 8。

我可以在哪里使用生成的架构?

用于运行时检查的 AJV 和其他验证器、用于自动完成和验证 JSON 文件的 VS Code、用于记录 API 响应的 OpenAPI 规范,以及在响应偏离合同时导致构建失败的 CI 管道。

正在搜索 “推断 json 模式”, “从 json 生成 json 模式”, “在线 json 模式生成器”?您来对地方了—— 浏览所有19工具.

深入阅读

博客文章 · 6 分钟阅读 JSON 到 JSON 模式:从样本有效负载到合约 在浏览器中将 JSON 转换为 JSON 模式:从真实有效负载推断草稿,然后强化所需的字段、格式和枚举 - 加上推断的限制。 阅读指南 →