
JSON 模式生成器读取一个示例 JSON 值 - API 响应、配置文件、Webhook 有效负载 - 并编写一个验证它的 JSON 模式。它推断每个字段的类型,将对象数组合并到单个项目模式中,而不是一个嘈杂的并集,从每个记录中存在的键导出哪些键是必需的,并且可以标记字符串格式,如日期时间、电子邮件、uri 和 uuid。您粘贴已有的数据;您得到的模式是否则您会逐个子句手写。
手写模式很慢,很容易犯细微的错误。很容易输入您认为有效负载包含的内容,错过嵌套字段,根据需要标记偶尔为空的属性,或者忘记一个端点返回一个数组,另一个端点返回单个对象。直接从真实数据生成的模式从实际形状开始,因此您验证的文档与服务真正发送的内容相匹配。从那里您可以用手收紧约束 - 图案,枚举,最小值,但繁琐的脚手架已经完成。
Everything都在你的浏览器中运行推理引擎是无依赖的TypeScript,而不是围绕托管API的包装器,所以有效负载- 通常会携带令牌,电子邮件和内部ID- 永远不会离开页面选择Draft-07或2020-12方言,添加标题,切换所需的字段检测,格式检测和严格`additionalProperties`,然后复制模式或下载为。json文件。
该模式描述的是您的样本而不是您的意图,因此将输出视为初稿:从碰巧存在的内容推断出所需的字段,并通过模式检测格式,因此看起来像日期的字符串被键入为一个即使它是一个仅类似于一个的标识符。
放入 API 响应、固定装置或任何 JSON 值。 首先加载示例以查看如何处理嵌套对象、对象数组和字符串格式。
为最宽的工具支持选择 Draft-07 或为当前规格选择 2020-12。 正确的 $schema URI 已为您写入输出。
添加一个可选的标题,决定是否发出所需的数组,检测字符串格式,并使用附加属性锁定对象:false 进行严格验证。
按生成。 查看推断的类型和必需字段,然后将架构复制到剪贴板或将其作为 .json 文件下载,准备放入验证器中。
发出广泛支持的 Draft-07 方言或当前的 2020-12 规范。 匹配的 $schema 标识符被写入根,因此验证者选择正确的规则。
对象数组成为描述一个元素的单个项目模式,而不是一个蔓延的 anyof。 每个元素中都需要键入;仅显示在某些元素中的键是可选的。
生成器从它看到的每个对象中存在的键导出所需的数组,这正是真实分页数据的行为方式 - 某些字段始终存在,而其他字段则不存在。
识别日期时间、日期、时间、电子邮件、URI、UUID 和 IPv4 字符串,并使用适当的格式关键字标记它们,从而为您提供手工添加的验证。
Flatten nested JSON into single-level dot-notation keys, or unflatten dotted keys back into nested objects and arrays. Lossless round trip. 100% client-side.
Convert JSON into Go struct definitions with json tags. Nested objects become inline structs, arrays of objects are merged, and field names follow Go conventions. 100% in your browser.
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
Test JSONPath expressions against any JSON and see the matched values and their paths instantly. Supports wildcards, recursive descent, slices, and filters. 100% client-side.
0 comments
No comments yet. Be the first to share your thoughts!