happytails.ai
简体中文

JSON Schema 样本生成器

根据 JSON Schema 创建可重现的有效和无效测试数据。提供每个样本前,都会使用 JSON Schema 验证器进行检查。

架构最多 50,000 个字符;可生成 1 到 100 个有效样本和 0 到 100 个无效样本,结果最多 4,000,000 个字符。所有处理都在浏览器中进行。可下载 JSON 报告和 JSON Lines 文件。 以 JSON 或 YAML 格式粘贴一个架构。会跟随本地 $ref 引用。 最多 50,000 个字符。 运行前请检查设置。

处理结果

报告问题或分享想法。

JSON Schema 样本生成器
  1. 以 JSON 或 YAML 格式粘贴 JSON Schema。
  2. 选择随机种子,以及要生成的有效和无效样本数量。
  3. 运行生成器并查看每个无效样本违反的规则。
  4. 下载报告或 JSON Lines 文件。

使用须知

架构最多 50,000 个字符;可生成 1 到 100 个有效样本和 0 到 100 个无效样本,结果最多 4,000,000 个字符。所有处理都在浏览器中进行。可下载 JSON 报告和 JSON Lines 文件。

样本的生成方式

生成器遍历架构,使用带种子的随机数生成器,从类型、枚举、范围、长度、简单模式和常见格式中选取值,因此相同种子会生成相同样本。然后使用 Ajv 验证每个候选样本。失败的候选项会被替换;尝试 25 次后,样本会列为无法生成,而不会输出。

无效样本

无效样本从有效样本开始,每次违反一条规则,例如类型错误、缺少必需属性、值超出枚举或范围,或包含额外属性。每个样本都会再次验证,报告会指出失败的关键字。

限制

只跟随架构内的本地引用;不会获取其他文件或 URLs 的引用。复杂正则表达式、not 以及某些 oneOf 组合可能超出生成器支持的搜索范围。此类样本会报告为未生成。若架构将 __proto__ 用作属性、pattern 或 dependency 键,验证器会拒绝处理,因为捆绑验证器无法可靠检查该键。包含此键的字面实例数据会予以保留。