JSON vs BSON

2025年3月17日 | 阅读 3 分钟

在了解 JSON 和 BSON 之间的区别之前,我们应该分别了解 JSON 和 BSON。

什么是 JSON?

JSONJavascript 对象表示法。 它是一种用于存储和交换数据的标准格式。 JSON 是用户可读的,并且是完全语言无关的格式。 它很轻量级。 当我们读取任何应用程序的 JSON 数据时,它就是与语言无关的。 我们可以通过 JSON 轻松发送信息。 JSON 基本上是键/值对和数组的组合。 在 JSON 中,我们可以在一个 JSON 文件中嵌入多个 JSON 文档。 可以在单个 JSON 文档中嵌入最多 100 个文档。

JSON 支持的数据类型有字符串、数字、对象、数组、true、false 和 null。

JSON 示例

在上面的 JSON 示例中,定义了 "id"。 id 的名称以 "_" 下划线字符开头。 必须为 json 文档提供 'id'。 如果我们没有为 json 文档提供 'id',则会创建系统 id。 在上面,subject 是一个包含 Maths、English 和 Hindi 值的数组。 address 是一个对象,因为 address 包含大括号。

'_id' 是一个 12 字节的十六进制数,它提供了每个文档的唯一性。 我们可以向 json 文档添加 '_id' 字段。 如果我们没有在 json 文档中提供 '_id' 字段,那么系统本身会生成 '_id'。

这 12 个字节分为四个部分

  • 前 4 个字节是当前时间戳。
  • 接下来的 3 个字节是机器 id。
  • 接下来的 2 个字节是进程 id。
  • 最后 3 个字节是一个增量值。

什么是 BSON?

BSON 是二进制 Javascript 对象表示法。 它不是人类可读的格式,因为它采用二进制格式。 在 MongoDB 中,BSON 用于加密 JSON 数据。 它提供了 JSON 数据之外的附加数据类型。 它也是与语言无关的,并且可以轻松解析。

它支持在其他文档和数组中添加文档和数组。

BSON 具有以下三个特点

  • 轻量级: 当通过网络使用时,JSON 将处理额外标头数据的开销降至最低。
  • 可遍历: 它被设计为易于在网络上传输。 这有助于它作为 MongoDB 的主要数据表示形式发挥作用。
  • 高效: 它允许 C 数据类型,这些数据类型允许轻松快速地对数据进行编码和解码。

JSON 和 BSON 之间的区别。

JSON vs BSON

以下是 JSON 和 BSON 之间的区别

JSONBSON
JSON 是 Javascript 对象表示法。BSON 是二进制 Javascript 对象表示法。
它是一种标准文件格式类型。它是一种二进制文件格式类型。
JSON 包含一些基本数据类型,如字符串、数字、布尔值、null。BSON 包含一些附加数据类型,如日期、时间戳等。
AnyDB、redis 等数据库将数据存储为 JSON 格式。MongoDB 中的数据以 BSON 格式存储。
与 BSON 相比,JSON 需要更少的空间。与 JSON 相比,BSON 需要更多的空间。
与 BSON 相比,它相对较慢。与 BSON 相比,它更快。
它用于数据传输。它用于数据存储。
它没有编码和解码技术。它具有更快的编码和解码技术。
如果我们想从 JSON 文件中读取任何特定信息,那么它需要遍历整个内容。在 BSON 中,使用索引概念来跳过所有未使用的内容。
JSON 格式不需要解析,因为它已经是人类可读的。它需要被解析,因为它可以被机器轻松解析。
JSON 是对象和数组的组合,其中对象是键值对的集合,而数组是元素的有序列表。二进制编码技术提供了一些附加信息,例如字符串长度和对象子类型。 BinData 和 Date 是 BSON 在 JSON 上支持的附加数据类型。

下一个主题JSON 占位符