bson json c语言,对比平台--JSON和BSON之间的区别

JavaScript Object Notation(JSON)是一种标准文件格式,使用人类可读的文本来传输具有属性值对和数组数据类型的数据。这是最常见的数据格式之一,主要用于异步浏览器-服务器通信。JSON是与语言无关的格式。另一方面,BSON是一种计算机交换格式,主要用于数据存储和用作MongoDB数据库中的网络传输格式。它是一种简单的二进制形式,用于表示数据结构和关联数组(在MongoDB中通常称为文档或对象)。

让我们详细研究JSON和BSON:

BSON代表二进制JSON,它由包含字段名称,类型和值的有序元素列表组成。字段名称类型通常是一个字符串。它的基础包括JavaScript,并且当今有许多编程语言可以利用该代码生成和解析与JSON格式相关的数据。

BSON类型支持日期和二进制数据,由于其性质,它不是可读形式,而普通的JSON文件由键值对组成。BSON文件总是小于JSON文件不是强制性的,但是它肯定会跳过无关的记录,而对于JSON,则需要解析每个字节。这是在MongoDB中使用它的主要原因。

BSON类型格式是轻量级的,高度可遍历的并且本质上是快速的。BSON实现用于支持将对象和数组嵌入其他对象中。可以在BSON对象内部建立索引,并将对象与顶层和BSON键上的查询表达式进行匹配。BSON是二进制编码的JSON文档,用于将文档存储在集合中。BSON中添加了对JSON不支持的数据类型(如二进制和日期)的支持。

实际上,不需要有关BSON的许多信息。仅使用语言的本机类型和所提供的类型(例如驱动程序的ObjectID)是必需的,并且映射将自行完成到BSON类型。

两者都是市场上流行的选择。让我们讨论一些主要区别:

BSON是JSON的序列化格式编码格式,主要用于存储和访问文档,而JSON是一种人类可读的标准文件格式,主要用于以键值属性对的形式传输数据。

BSON的设计占用了更少的空间,但它并不比JSON高效。实际上,BSON在某些情况下比JSON使用更多的空间。其原因是可遍历性,这意味着BSON向文档添加了一些附加信息,例如字符串长度和子对象,这反过来又使遍历更快。

BSON的设计还具有相对较快的编码和解码技术。例如,所有那些整数都存储为32位整数,这样就不会与它们在文本之间进行解析。因此,与JSON相比,对于较小的整数,它占用更多空间,但是BSON解析起来要快得多。

除了上述要点外,BSON还使用JSON中不可用的其他数据类型,例如BinData和Date数据类型.BSON扩展了JSON类型模型,以提供其他数据类型,以便在不同语言中更有效地进行编码和解码而对于JSON,则未提供此类规定。它促进了数据交换以及与XML(主要是主要格式)一起使用。JSON支持您可以想到的所有基本数据类型,例如数字,字符串和其他布尔值。它还支持哈希和数组等数据类型。BSON使用JSON类型格式以与文档以关系数据库中的行和列形式存储数据的方式完全相同的方式以文档形式存储数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值