Neatbo.

样本缺失不能证明字段可选

用缺失字段、空数组与大数值样本区分已观察数据形状和权威 API 合同,避免把偶然样本变成业务规则。

准备原始证据

一份响应中缺少字段可能是权限、版本或业务分支的结果。样本交集可以帮助编辑者起草 required,却不能代替 API 所有者的合同。根数组中的元素也不是独立文件样本。

屏幕只预览前 4,000 Unicode 码点,复制与下载保留完整 Schema。样本骨架不代表真实 API 完整性,发布前须人工确认权威合同。所有输入留在当前浏览器。

  • 粘贴一份 JSON 或选择所有原始样本文件。
  • 默认保持属性可选;只在知晓样本含义时勾选已观察必选键。
  • 生成并下载 Schema 与完整推断报告。
  • 向 API 所有者确认未出现字段、业务约束与 required,再编辑并验证。

核对下载中的差异与依据

每个文件允许移除并记录一个开头 BOM;粘贴内容不允许 BOM。拒绝 decoded 重复键、非法 UTF-8、非 JSON 语法及原始或转义的未成对代理 Unicode。__proto__ 与 constructor 按普通字面属性处理。

所有样本合计最多 100,000 个值节点;对象键不计值节点,容器深度最多 64 层。所有输出合计最多 32 MiB;失败或取消无部分输出。

合并类型联合、对象 properties 与数组 items。全部数字标记只推断 number,不把数字值转为 JavaScript Number,不推断 integer、format、范围、enum、const 或 default。

实际样例
{"id":9007199254740993,"items":[]}

交接前完成独立验收

默认不推断 required。只有显式勾选才把该形状所有已观察对象中均出现的键列为 required,报告标明它只是样本推断。对象保持开放;仅观察到空数组时省略 items。

下载完整 schema.json 和 inference-report.json;报告包括所有来源名称、字节数、SHA256、形状观察计数、BOM 与限制。不生成或获取外部 $ref,也不执行输入 Schema。

屏幕只预览前 4,000 Unicode 码点,复制与下载保留完整 Schema。样本骨架不代表真实 API 完整性,发布前须人工确认权威合同。所有输入留在当前浏览器。

修正重复键、编码或语法错误;减小超限样本,再用相同选项重跑。取消不会发布部分 Schema。

交接文件
文件用途
schema.json可编辑、开放的 Draft 2020-12 样本类型骨架
inference-report.json所有来源、形状观察次数及明确推断限制

参考资料

  • JSON samples to schema question

    The original request asks for a generated starting schema; the later CLI/API preference is retained. Browser preference and demand scale remain unknown.

  • JSON Schema Draft 2020-12

    Schema metadata and validation vocabulary; observed samples cannot establish a complete API contract.

本分类工具使用说明

展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。

JSON 样本生成 Schema 骨架把严格 JSON 样本合并为可编辑的 Draft 2020-12 类型骨架,保留来源与推断依据。

把严格 JSON 样本合并为可编辑的 Draft 2020-12 类型骨架,保留来源与推断依据。

操作步骤

  1. 粘贴一份 JSON 或选择所有原始样本文件。
  2. 默认保持属性可选;只在知晓样本含义时勾选已观察必选键。
  3. 生成并下载 Schema 与完整推断报告。
  4. 向 API 所有者确认未出现字段、业务约束与 required,再编辑并验证。

可调选项

把所有已观察对象均出现的键列为必选
默认关闭

仅为样本推断,须人工确认 API 合同。

能力与限制

  • 粘贴一个严格 JSON 值,最多 1 MiB;或选择 1–20 个 UTF-8 JSON 文件,每个最多 1 MiB、合计 4 MiB。每个原始文件名标签最多 512 UTF-8 字节;这是输入资源预算,不是操作系统 PATH_MAX。已选文件优先于粘贴内容。一文件是一份样本,根数组保留为单份数组样本。
  • 每个文件允许移除并记录一个开头 BOM;粘贴内容不允许 BOM。拒绝 decoded 重复键、非法 UTF-8、非 JSON 语法及原始或转义的未成对代理 Unicode。__proto__ 与 constructor 按普通字面属性处理。
  • 所有样本合计最多 100,000 个值节点;对象键不计值节点,容器深度最多 64 层。所有输出合计最多 32 MiB;失败或取消无部分输出。
  • 合并类型联合、对象 properties 与数组 items。全部数字标记只推断 number,不把数字值转为 JavaScript Number,不推断 integer、format、范围、enum、const 或 default。
  • 默认不推断 required。只有显式勾选才把该形状所有已观察对象中均出现的键列为 required,报告标明它只是样本推断。对象保持开放;仅观察到空数组时省略 items。
  • 下载完整 schema.json 和 inference-report.json;报告包括所有来源名称、字节数、SHA256、形状观察计数、BOM 与限制。不生成或获取外部 $ref,也不执行输入 Schema。
  • 屏幕只预览前 4,000 Unicode 码点,复制与下载保留完整 Schema。样本骨架不代表真实 API 完整性,发布前须人工确认权威合同。所有输入留在当前浏览器。
打开JSON 样本生成 Schema 骨架 →