JSON和BSON的区别

1年前 (2024-04-27)
JSON 和 BSON 从名称上来看仅有一个字母的差别,非常相似,那么它们之间有什么区别呢?本节我们就来简单介绍一下。

什么是 JSON?

JSON 全称“JavaScript Object Notation”,译为“JavaScript 对象简谱”或“JavaScript 对象表示法”,是一种轻量级的、基于文本的、开放的数据交换格式,主要用来在浏览器和服务器之间进行通信。

下面展示了一个简单的 JSON 数据:

{

"title":"JSON教程",

"author":"C语言中文网",

"url":"http://c.biancheng网站站点" rel="nofollow" />

注意:BSON 并非只能用于 MongoDB,它也可以在其它编程语言中使用。

与 JSON 相比,BSON 存取的效率更高,而且占用的空间更小。另外,除了支持 JSON 中的数据类型外,BSON 还支持日期(Date)和二进制(BinData)等类型。

JSON 与 BSON 之间的区别

JSON 和 BSON 之间最主要的区别如下表所示:

JSON

BSON

JSON 是 javascript 对象表示法

BSON 是二进制 JSON

是一种轻量级的、基于文本的、开放的数据交换格式

是一种二进制序列化文档格式

JSON 包含一些基本数据类型,如字符串、数字、布尔值、空值

除了支持 JSON 中的类型外,BSON 还包含一些额外的数据类型,例如日期(Date)、二进制(BinData)等

AnyDB、redis 等数据库将数据存储为 JSON 格式

MongoDB 中将数据存储为 BSON 格式

主要用于传输数据

主要用于存储数据

没有响应的编码和解码技术

有专用的编码和解码技术

如果想从 JSON 文件中读取指定信息,需要遍历整个数据

在 BSON 中,可以使用索引跳过到指定内容

JSON 格式不需要解析,因为它是人类可读的

BSON 需要解析,因为它是二进制的

JSON 是对象和数组的组,其中对象是键值对的,而数组是元素的有序列表

BSON 是二进制数据,在其中可以存储一些附加信息,例如字符串长度、对象类型等