浏览器本地处理

YAML / BSON 互转

适合 MongoDB 文档和驱动测试;普通 YAML 可生成 BSON,解码后的 BSON 扩展类型使用明确标记输出到 YAML,避免长整数和日期被误写。

浏览器本地处理
0 / 1,500,000
转换结果

工具指南

什么是YAML / BSON 互转?

YAML 与 BSON 互转服务于 MongoDB 文档和驱动调试。普通 YAML 根对象可以编码为 BSON 字节并以 Base64 携带,解码后 BSON 的 ObjectId、日期和长整数等类型通过明确的标记对象进入 YAML,避免超过安全范围的数字或专用类型被误装成普通标量。常见使用场景包括:生成 MongoDB 驱动测试文档。;解码 API 或日志中的 BSON Base64。;检查长整数、日期和扩展类型。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 生成 MongoDB 驱动测试文档。
  • 解码 API 或日志中的 BSON Base64。
  • 检查长整数、日期和扩展类型。

使用方法

  1. 编码时输入根对象 YAML。
  2. 解码时粘贴完整 BSON Base64。
  3. 加载示例检查普通字段。
  4. 执行并阅读扩展类型警告。
  5. 按目标驱动契约复核结果。
  6. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。

可运行示例

工作区中的“示例 1”和“示例 2”按钮会载入对应内容。两个示例覆盖不同结构、方向或边界,可以直接运行并观察输出与状态提示。

示例 1

site: JSONLane
release:
  tools: 50
  ready: true
tags: [yaml, bson]

示例 2

IwAAAAJzaXRlAAkAAABKU09OTGFuZQAQdG9vbHMAMgAAAAA=

输入规则

  • YAML 编码输入必须是根对象。
  • 解码要求完整的 BSON Base64。
  • 危险键和无法安全映射的数值会被拒绝。
  • 文本输入在运行前按字符计数,当前页面上限为 1,500,000;文件类功能另按页面显示的文件上限执行。
  • BSON 编码要求 YAML 根对象。

输出规则

  • BSON 二进制以 Base64 展示。
  • 扩展类型使用标记对象进入 YAML。
  • 普通 YAML 使用方可能不理解这些标记。
  • 输出只反映当前输入、方向和选项;切换模式或修改输入后应重新运行,不应把旧结果当成新结果。
  • 二进制 BSON 使用 Base64 承载。

限制与注意事项

  • BSON 编码要求 YAML 根对象。
  • 二进制 BSON 使用 Base64 承载。
  • BSON 扩展类型在 YAML 中表现为标记对象。

数据处理说明

所有解析、格式转换、Base64 编解码和中间数据都只存在于当前浏览器标签页内。JSONLane 不会上传输入,也不会在刷新或关闭页面后保留本次内容。

FAQ

YAML 或 BSON 内容会上传吗?

不会。输入解析、格式转换和结果生成都只在当前浏览器标签页中完成。

转换结果一定能无损往返吗?

不能。注释、排版、类型系统和二进制能力不同,页面会明确列出需要人工复核的损失点。

为什么合法输入有时仍会被拒绝?

目标格式可能无法安全表示该结构;工具会拒绝危险键、不安全整数、过深数据和含糊映射,避免静默改写。

普通 YAML 可以生成 BSON 吗?

可以,根值必须是对象。

长整数如何保留?

BSON 解码会使用 Extended JSON 标记对象,避免精度损失。

Base64 可以直接导入 MongoDB 吗?

通常不能,驱动需要先恢复原始 BSON 字节。

更新日期: 2026-08-09