从 JSON 样本起草 Schema
合并本地 JSON 观察结果为 Draft 2020-12 起始骨架,核对各形状出现次数,再明确决定 required 键。
准备原始证据
把严格 JSON 样本合并为可编辑的 Draft 2020-12 类型骨架,保留来源与推断依据。
粘贴一个严格 JSON 值,最多 1 MiB;或选择 1–20 个 UTF-8 JSON 文件,每个最多 1 MiB、合计 4 MiB。每个原始文件名标签最多 512 UTF-8 字节;这是输入资源预算,不是操作系统 PATH_MAX。已选文件优先于粘贴内容。一文件是一份样本,根数组保留为单份数组样本。
- 粘贴一份 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 类型骨架,保留来源与推断依据。
操作步骤
- 粘贴一份 JSON 或选择所有原始样本文件。
- 默认保持属性可选;只在知晓样本含义时勾选已观察必选键。
- 生成并下载 Schema 与完整推断报告。
- 向 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 完整性,发布前须人工确认权威合同。所有输入留在当前浏览器。