Command Palette

Search for a command to run...

JS

JSON 模式生成器

从任何 JSON 示例生成 JSON 模式。 推断类型,将对象数组合并为一项,导出必填字段,并检测日期时间、电子邮件、URI 和 UUID 格式。 草案-07和2020-12输出。 100% 客户端。

什么是 JSON 模式生成器?

JSON 模式生成器读取一个示例 JSON 值 - API 响应、配置文件、Webhook 有效负载 - 并编写一个验证它的 JSON 模式。它推断每个字段的类型,将对象数组合并到单个项目模式中,而不是一个嘈杂的并集,从每个记录中存在的键导出哪些键是必需的,并且可以标记字符串格式,如日期时间、电子邮件、uri 和 uuid。您粘贴已有的数据;您得到的模式是否则您会逐个子句手写。

手写模式很慢,很容易犯细微的错误。很容易输入您认为有效负载包含的内容,错过嵌套字段,根据需要标记偶尔为空的属性,或者忘记一个端点返回一个数组,另一个端点返回单个对象。直接从真实数据生成的模式从实际形状开始,因此您验证的文档与服务真正发送的内容相匹配。从那里您可以用手收紧约束 - 图案,枚举,最小值,但繁琐的脚手架已经完成。

Everything都在你的浏览器中运行推理引擎是无依赖的TypeScript,而不是围绕托管API的包装器,所以有效负载- 通常会携带令牌,电子邮件和内部ID- 永远不会离开页面选择Draft-07或2020-12方言,添加标题,切换所需的字段检测,格式检测和严格`additionalProperties`,然后复制模式或下载为。json文件。

该模式描述的是您的样本而不是您的意图,因此将输出视为初稿:从碰巧存在的内容推断出所需的字段,并通过模式检测格式,因此看起来像日期的字符串被键入为一个即使它是一个仅类似于一个的标识符。

JSON 的 JSON 模式生成器的一个工作示例,其中包含多个记录。粘贴[{"id":1,"email":"a@b。co","nick":"x"},{"id":2,"email":null}],然后按生成。输出是一个数组模式,其项目以 id 为整数,电子邮件为 ["string","null"],nick 为字符串,所需设置为 id 和 email,因为第二个记录中缺少 nick。header 读取 3 个属性,2 个必需,深度 2,219 字节。这是任何 JSON 到 JSON 模式生成器的工作:您添加的每个记录都可以从所需内容中加宽类型或删除键。

如何使用 JSON 模式生成器?

  1. 粘贴您的 JSON

    放入 API 响应、固定装置或任何 JSON 值。 首先加载示例以查看如何处理嵌套对象、对象数组和字符串格式。

  2. 选择方言

    为最宽的工具支持选择 Draft-07 或为当前规格选择 2020-12。 正确的 $schema URI 已为您写入输出。

  3. 设置您的选项

    添加一个可选的标题,决定是否发出所需的数组,检测字符串格式,并使用附加属性锁定对象:false 进行严格验证。

  4. 生成,然后复制或下载

    按生成。 查看推断的类型和必需字段,然后将架构复制到剪贴板或将其作为 .json 文件下载,准备放入验证器中。

主要特点

  • 草案07和2020-12输出

    发出广泛支持的 Draft-07 方言或当前的 2020-12 规范。 匹配的 $schema 标识符被写入根,因此验证者选择正确的规则。

  • 智能阵列合并

    对象数组成为描述一个元素的单个项目模式,而不是一个蔓延的 anyof。 每个元素中都需要键入;仅显示在某些元素中的键是可选的。

  • 必需的现场推理

    生成器从它看到的每个对象中存在的键导出所需的数组,这正是真实分页数据的行为方式 - 某些字段始终存在,而其他字段则不存在。

  • 字符串格式检测

    识别日期时间、日期、时间、电子邮件、URI、UUID 和 IPv4 字符串,并使用适当的格式关键字标记它们,从而为您提供手工添加的验证。

Frequently Asked Questions

JSON粘贴到编辑器中,选择Draft-07或2020-12,然后按生成工具推断每个字段的类型,提取所需的键,并输出一个模式,您可以直接复制到验证器中,没有上传任何内容 - 推理完全在浏览器中运行。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json schema generatorjson to json schema generatorjson schema generator from jsonjson to schema generatorjson to json schema generator onlinegenerate json schemajson to json schemajson schema from jsonjson schema draft-07json schema 2020-12infer json schemajson validation schemajson schema builder