跳到正文
在此运行 完全在你的浏览器里运行,不上传、不登录

Schema 转表单

把 JSON Schema 变成带实时校验的 HTML 表单,并输出 JSON 结果。

生成的表单

用上面的 Schema 生成表单。

填写结果(JSON)

支持的关键字:type、properties、items、required、enum、title、description、default、minimum、maximum、minLength、maxLength、pattern。引用与组合关键字会被报为不支持。

怎么用

  1. 粘贴一份根为对象、且带 properties 的 JSON Schema。
  2. 点生成表单,每个属性会变成带标签的输入框、下拉框或复选框。
  3. 填写表单,边输入边校验,问题会显示在对应字段下方。
  4. 右侧的 JSON 结果只反映你填过的字段。
  5. 状态栏显示所有字段通过校验后,再复制 JSON。

常见用法

常见问题

问:支持哪些关键字? 答: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 转表单 完全在本地运行。你粘贴或拖入的一切都由你自己的浏览器处理,不会被传走。我们的服务器不保存任何东西——关掉标签页就没了。

你输入的内容不会发往服务器、不被记录,也不用于分析统计。首次加载之后即使断网,这个页面照样能用。