---
title: 如何查看和编辑 BSON 数据
date: 2025-11-21
categories:
  - development
  - json
tags:
  - xmlspy
  - bson
  - json
  - yaml
description: BSON 格式非常高效，并且注重性能。但是，直接编辑原始二进制数据并不实用。因此，一个可视化的 BSON 编辑器是必不可少的。
---
Status: #blog

Tags:  #xmlspy #bson #json #yaml  

Categories:  [development](/blog/zh/category/development.md)| [json](/blog/zh/category/json.md)
# 如何查看和编辑 BSON 数据

随着应用程序的规模扩大，开发者需要紧凑、解析速度快、并且易于在现代数据库系统中使用的序列化数据格式。其中，BSON（二进制JSON）是一种持续获得广泛采用的格式。

虽然 BSON 格式高效且注重性能，但直接编辑原始 BSON 数据并不实用，因为它是一种二进制格式，几乎无法被人类阅读。这时，专业的 BSON 编辑器就显得非常重要，它提供了一种易于阅读的、分层视图，方便用户检查、编辑和排查数据。

为了满足这一需求，XMLSpy现在内置了一个**功能全面的BSON编辑器**，开发者可以在熟悉的界面中编辑和转换BSON文档，就像他们处理XML、JSON和YAML文件时一样。

![在办公室环境中工作的软件开发人员](/blog/images/developer-office.png)


<!--more-->

## 什么是BSON？

BSON 是一种二进制序列化格式，旨在以一种紧凑的结构来编码类似于 JSON 的文档，以便软件能够快速解析和处理这些数据。 [BSON](https://bsonspec.org/spec.html) 它支持标准的JSON数据类型，如字符串、数字和数组。然而，由于BSON主要用于MongoDB NoSQL数据库，因此它被扩展以包含一些非JSON原生类型的可选数据 [数据类型](https://www.altova.com/manual/XMLSpy/spyenterprise/xsbson_edit.html#:~:text=BSON%20datatypes%20and%20editing), 例如日期和二进制数据，这些对于 MongoDB 至关重要。以下是一些例子：

- 日期
- 二进制
- Decimal128 (一种128位十进制数)
- 对象ID (duìxiàng ID)
- 时间戳
- 正则表达式
- 还有其他

而且， [与JSON不同](https://www.mongodb.com/resources/basics/json-and-bson#json-vs-bson), 虽然BSON的二进制格式易于人类阅读，但它只能被机器读取。 

二进制编码能够实现更快的解析，并简化对大型文档结构的遍历。由于BSON也具有类型关联和长度前缀的特性，系统可以高效地跳过字段，直接访问所需的数据，而无需扫描整个文档。

## BSON 的优点：

BSON 具有诸多优势，使其非常适合现代应用以及大规模数据处理，无论是在 MongoDB 中还是在其他领域。

1. **紧凑的存储：** BSON 相比 JSON 具有更低的开销，同时在转换后仍然易于人类理解。这有助于最大限度地减少磁盘空间占用，并优化缓存。

2. **快速解析：** 它的二进制结构使其解析和遍历速度更快，尤其是在处理大型嵌套数据集时。

3. **扩展的数据类型：** 开发人员在数据传输过程中可以获得强类型检查，这使得 BSON 在许多情况下比 JSON 更加精确和具有表达力。

4. **已准备好进行验证**：虽然从技术上讲，BSON 不需要预定义的模式，但由于 BSON 的结构与 JSON 相似，您可以[将 JSON 模式与 BSON 文档关联起来](https://www.altova.com/zh/xmlspy-xml-editor/bson-editor#schema)，从而定义必填字段、数据类型、数值范围以及嵌套对象结构等规则。

5. **广泛的语言支持：** BSON 提供了适用于大多数主流编程语言的官方库，这使得在不同环境下编写的服务之间交换数据变得非常简单。

虽然 BSON 功能强大，但直接处理原始二进制数据并不方便。当您需要查看或编辑 BSON 数据时，一个能够以图形方式呈现数据的工具会非常有用。而 XMLSpy 正是这样的工具。

## 为什么使用图形化 BSON 编辑器会很有帮助

XMLSpy 包含一个[可视化 BSON 编辑器](https://www.altova.com/zh/xmlspy-xml-editor/bson-editor#edit)，它以网格形式显示二进制文档的结构，让您能够立即理解其内容并根据需要进行修改。

![XMLSpy 中的可视化 BSON 编辑器](/blog/images/bson-editor-xmlspy.png)

BSON 网格视图具有交互性，您可以展开和折叠嵌套的对象和数组，以便在不同层级上查看和理解文档的结构。同时，您还可以轻松地在网格中添加、删除和移动对象，而底层二进制代码会在后台自动更新。

在网格视图中，内容也可以轻松编辑。每个单元格都内置了操作指令，允许用户选择内容类型，并提供其他根据上下文相关的选项。

如果节点重复出现，XMLSpy可以将它们以表格视图呈现。在这种视图中，键将作为列标题显示，而每个对象将显示为带有编号的行，而不是像在树状结构中那样，一个接一个地列出。

如果需要进行验证——例如，在 MongoDB 的实现中——您可以在 XMLSpy 的信息窗口中，将现有的 JSON Schema 与 BSON 文档关联起来。

## 如何转换和生成 BSON 数据

除了编辑功能外，XMLSpy 还可以将数据转换为 BSON 格式，并生成 BSON 文件，从而弥合了二进制数据与人类可读格式之间的差距。

![如何转换 BSON 格式](/blog/images/convert-bson.png)

常见的应用场景包括将 JSON 或 YAML 数据转换为 MongoDB 使用的 BSON 格式，或者反过来，将 BSON 转换为更易于阅读和调试的格式。 XMLSpy 提供的支持功能包括：

- 将 JSON 转换为 BSON，或将 BSON 转换为 JSON
- 将 YAML 格式转换为 BSON 格式，或将 BSON 格式转换为 YAML 格式
- 从现有的 JSON Schema 生成 BSON 实例

如果您没有JSON Schema，或者需要编辑现有的文档，那么XMLSpy中的图形化XML Schema编辑器内置了对JSON对象、属性和数组分配BSON数据类型的支持。  

![编辑用于 BSON 的 JSON Schema](/blog/images/json-schema-bson.png)

如果您在使用 MongoDB、分布式应用程序或数据序列化流程，那么一个可视化的 BSON 编辑器不仅能提供便利，更能显著提高工作效率。XMLSpy 提供了内置的图形化 BSON 编辑、转换和验证功能，同时还全面支持 JSON、YAML 和 XML，能够满足您的各种需求。

您可以免费试用 XMLSpy，享受[30天的试用期](https://www.altova.com/zh/xmlspy-xml-editor/download)。

如果您需要进一步 [将 MongoDB 中存储的 BSON 数据与其他系统集成](https://www.altova.com/zh/mapforce/database-mapping) 如果您需要处理诸如 SQL 数据库、XML 报告或 Shopify 商店等数据，可以尝试使用 Altova MapForce 中的图形化数据映射工具。