JSON 和 BSON的区别


JSON和BSON的区别

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

一,什么是 JSON?

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

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

{
    "title":"JSON教程",
    "author":"C语言中文网",
    "url":"http://c.biancheng.net/",
    "catalogue":[
        "JSON是什么?",
        "JSONP是什么?",
        "JSON语法规则"
    ]
}

有关 JSON 的详细介绍,您可以阅读《JSON 是什么?JSON 介绍》一节。

二,什么是 BSON?

BSON 全称“Binary Serialized Document Format”,译为“二进制序列化文档格式”,是由 10gen(一家公司的名称)开发的一种数据格式,目前主要用于 MongoDB 数据库中,是 MongoDB 的数据存储格式。

BSON 基于 JSON,在 JSON 的基础上进行了升级,支持更多的数据类型。有时也将 BSON 称为“Binary JSON”,即“二进制 JSON”。

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

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

三,JSON 与 BSON 之间的区别

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

JSONBSON
JSON 是 javascript 对象表示法BSON 是二进制 JSON
是一种轻量级的、基于文本的、开放的数据交换格式是一种二进制序列化文档格式
JSON 包含一些基本数据类型,如字符串、数字、布尔值、空值除了支持 JSON 中的类型外,BSON 还包含一些额外的数据类型,例如日期(Date)、二进制(BinData)等
AnyDB、redis 等数据库将数据存储为 JSON 格式MongoDB 中将数据存储为 BSON 格式
主要用于传输数据主要用于存储数据
没有响应的编码和解码技术有专用的编码和解码技术
如果想从 JSON 文件中读取指定信息,需要遍历整个数据在 BSON 中,可以使用索引跳过到指定内容
JSON 格式不需要解析,因为它是人类可读的BSON 需要解析,因为它是二进制的
JSON 是对象和数组的组合,其中对象是键值对的集合,而数组是元素的有序列表BSON 是二进制数据,在其中可以存储一些附加信息,例如字符串长度、对象类型等
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁辰兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值