跳到主要内容

JSON 转 Mongoose Schema 生成器

粘贴 JSON 文档, 直接生成带类型的 mongoose.Schema 和模型导出, 含子 schema、日期识别, 浏览器本地运行

  • 本地处理
  • 分类 格式转换
  • 适合 把粘贴内容或本地文件转成更适合交付的格式。
示例:
类型、日期和数组是怎么推断的

每个 JSON key 映射到一个 Mongoose SchemaType: 字符串推断成 String (开启"识别 ISO 日期"且值能按 ISO-8601 解析时推断成 Date), 数字推断成 Number, 布尔推断成 Boolean。嵌套对象生成内联子 schema { ... }。数组生成 [元素类型], 类型取自第一个元素, 空数组生成 [Mixed]。null 没有类型信号, 推断成 mongoose.Schema.Types.Mixed。开启"{ type: X }"得到可以继续加 required、default、index 的完整字段形式; 开启 timestamps 会追加 { timestamps: true }, 让 Mongoose 自动维护 createdAt / updatedAt。

这个工具能做什么

把一份真实 JSON 文档一键变成可用的 Mongoose Schema。工具会遍历你的 JSON, 把每个字段映射到对应 SchemaType: 字符串映射成 String, 数字映射 成 Number, 布尔映射成 Boolean, 像 2026-05-29T10:00:00Z 这样的 ISO-8601 字符串在开启日期识别时映射成 Date。嵌套对象生成内联子 schema, 数组按 第一个元素生成 [类型], 空数组生成 [Mixed], null 因为没有任何类型信号 映射成 mongoose.Schema.Types.Mixed。输出是一个完整的 CommonJS 模块: require mongoose, 用 new mongoose.Schema 建好 schema, 再通过 mongoose.model 导出, 文件可以直接放进 Node 和 MongoDB 项目里用。你可以 填模型名, 把简写字段切成完整的 { type: X } 形式以便后面加 required 或 default, 还能开 timestamps 让 Mongoose 自动管理 createdAt 和 updatedAt。 全程在浏览器里运行, 一键复制, 不上传。

工具细节

输入
文本 + 数值 + 结构化内容
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制 + 下载
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 9 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
格式转换 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

JSON 转 Mongoose Schema 适合怎么用

适合把内容从一种实际格式转成另一种可用格式。

适合转换的任务

  • 把粘贴内容或本地文件转成更适合交付的格式。
  • 放进大流程前,先预览转换结果是否可靠。
  • 修正常见格式不匹配,不用打开完整编辑器。

转换检查项

  • 源格式比较乱时,先拿一小段试转。
  • 转换后检查编码、分隔符和换行符。
  • 结果确认前保留原始内容。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 JSON 转 TypeScript Interface JSON 转 TypeScript interface, 粘 JSON 出干净 interface, 数组元素合并为 union, 可选字段自动识别, 根类型名可命名。 打开
  2. 2 JSON 转 Go 结构体 JSON 转 Go struct, 粘 JSON 出带 json tag 的结构体, 字段自动导出, 嵌套对象生成子 struct, 可空字段用指针, 支持 int64 与 omitempty。 打开
  3. 3 JSON Schema 推断器 粘贴 JSON 或 NDJSON 样本, 推断 Draft 2020-12 风格 schema, 包含类型、必填字段、格式、枚举和示例。 打开

真实使用场景

  • 用 API 响应快速搭一个 Mongoose 模型

    你在给一个 Node 服务接第三方 API, 想把响应缓存到 MongoDB。把一份 真实响应粘进来, 把模型名设成对应资源, 就得到一个每个字段都已带类型 的起始 schema。切到 { type: X } 完整形式, 在需要的字段上补 required 和 index, 你就省掉了手抄四十个字段那段最枯燥的活。

  • 把松散集合迁移成有类型的 schema

    一个集合一路野蛮生长没有 schema, 现在你想给它加上结构。用 mongoexport 导出一份有代表性的文档, 粘到这里, 读回一个能描述你实际 存储形状的 Mongoose Schema。开启 timestamps, 让以后的写入都带上 createdAt 和 updatedAt, 你得到的就是一个为集合做记录的模型, 而不是 靠猜。

  • 讲解或演示 Mongoose 建模

    讲 JSON 形状怎么映射到 Mongoose SchemaType, 用一个实时例子比用幻灯片 清楚得多。粘一份嵌套文档, 现场带大家看 address 对象怎么变成内联子 schema, tags 怎么变成 [String], null 怎么落到 Mixed。把网址分享出去, 同一份文档会按你留下的样子给下一个人重新打开。

  • 给种子数据或测试夹具配一个模型

    你有一份测试里已经在用的 JSON 夹具, 想要一个对应的 Mongoose 模型, 好让种子脚本把它写进开发库。粘上夹具, 复制生成的模型文件, schema 和 你的夹具天生就对得上。示例数据和本该接收它的模型之间不会再漂移。

常见踩坑

  • 把 null 字段推断出的 Mixed 当成定论。null 只表示"没看到类型", 所以工具给出 Mixed。如果你知道字段是 Date 或 String, 粘贴后改掉, 或者喂一个带真实值的样本让它推断出精确类型。

  • 以为数组类型会合并所有元素。元素类型只取自第一个数组元素。如果第一个元素缺了后面元素才有的 key, 请把一个有代表性的元素放在第一个, 让内联子 schema 捕获完整形状。

  • 忘了 ISO 日期识别既要开开关又要是真正的 ISO 字符串。像 2026/05/29 这种用斜杠的值不是 ISO-8601, 会保持 String。想让它推断成 Date, 请用标准的 2026-05-29 或完整日期时间形式。

隐私说明

转换是纯 JavaScript, 完全在你的浏览器标签页里运行。你粘贴的 JSON 文档, 以及由它生成的 Mongoose Schema, 都不会发往服务器, 也不会被记录。唯一 要注意: 本工具会把输入保存在可分享的网址里, 让"分享链接"能还原结果, 这意味着把链接粘到聊天里, 对方服务器的访问日志会留下这份文档。涉及敏感 或生产数据时, 请用复制按钮并清空输入, 而不是分享网址。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-14