Schema 转表单
把 JSON Schema 变成带实时校验的 HTML 表单,并输出 JSON 结果。
生成的表单
用上面的 Schema 生成表单。
填写结果(JSON)
支持的关键字:type、properties、items、required、enum、title、description、default、minimum、maximum、minLength、maxLength、pattern。引用与组合关键字会被报为不支持。
怎么用
- 粘贴一份根为对象、且带 properties 的 JSON Schema。
- 点生成表单,每个属性会变成带标签的输入框、下拉框或复选框。
- 填写表单,边输入边校验,问题会显示在对应字段下方。
- 右侧的 JSON 结果只反映你填过的字段。
- 状态栏显示所有字段通过校验后,再复制 JSON。
常见用法
- 给内部工具做原型 —— 把已有的 Schema 变成能点的表单,先验证交互再动手写真正的前端。
- 用真实填写检验 Schema —— 某个字段难填,往往说明 Schema 本身要调整。
- 生成示例数据 —— 填一次就能复制出符合类型要求的 JSON。
- 给支持团队做上手页 —— 由 Schema 生成的表单让必填项一目了然。
- 讲清 Schema 关键字 —— enum 变成下拉框,minimum 与 maximum 变成范围检查,pattern 变成正则检查。
常见问题
问:支持哪些关键字? 答:type、properties、items、required、enum、title、description、default、minimum、maximum、minLength、maxLength、pattern。其余关键字会在生成表单时被列为不支持,让你知道哪些被跳过了。
问:为什么我的 $ref 定义不起作用? 答:引用不会被解析。依赖 $ref、$defs 或 definitions 的 Schema 会被报为不支持,这些部分直接跳过,不会硬造出字段。
问:选填字段会出现在 JSON 输出里吗? 答:只有填了才会出现。没碰过的选填字段不会出现在结果里,必填字段则会被标记直到你填上。
问:能嵌套对象和数组吗? 答:可以。对象展开为嵌套区块,数组提供「添加一项」按钮和每行的「移除」,条目既支持标量也支持对象。
问:它能按完整 JSON Schema 规范校验吗? 答:不能。它只覆盖上面列出的关键字子集,用于快速搭表单,而不是按 Draft 2020-12 校验文档。生产环境的校验请用专门的校验器。
你的数据留在这台设备上
Schema 转表单 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。
你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。