JSON 样本生成 Schema 骨架
把严格 JSON 样本合并为可编辑的 Draft 2020-12 类型骨架,保留来源与推断依据。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
把严格 JSON 样本合并为可编辑的 Draft 2020-12 类型骨架,保留来源与推断依据。
如何使用
- 粘贴一份 JSON 或选择所有原始样本文件。
- 默认保持属性可选;只在知晓样本含义时勾选已观察必选键。
- 生成并下载 Schema 与完整推断报告。
- 向 API 所有者确认未出现字段、业务约束与 required,再编辑并验证。
支持范围与限制
粘贴一个严格 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 完整性,发布前须人工确认权威合同。所有输入留在当前浏览器。
操作示例
示例输入
{"id":9007199254740993,"items":[]}示例参数
requireObserved=false
示例输出
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"number"},"items":{"type":"array"}}}出现问题时
修正重复键、编码或语法错误;减小超限样本,再用相同选项重跑。取消不会发布部分 Schema。
常见问题
能直接作为正式 API Schema 吗?
屏幕只预览前 4,000 Unicode 码点,复制与下载保留完整 Schema。样本骨架不代表真实 API 完整性,发布前须人工确认权威合同。所有输入留在当前浏览器。
为什么大整数没有 integer 类型?
合并类型联合、对象 properties 与数组 items。全部数字标记只推断 number,不把数字值转为 JavaScript Number,不推断 integer、format、范围、enum、const 或 default。