Bson和Jsonicon有什么区别?做过Web API开发的同学对Json应该很熟悉,基本上所有对外的API都采用这种数据交换格式。

那么Bson是什么东西呢?简单点说就是binary json,二进制json。如果你接触过mongodbicon,对它就很眼熟了。mongodb使用这种格式存储数据。

这个格式有个好处是查找数据比较方便,它在每个元素前边加了元素数据长度的前缀,这样查找数据时可以比较容易地跳到需要的位置。

它还支持一些json没有的数据格式,比如日期和byte数组,这都是为了方便存储数据。

对于数字类型,它至少使用4个字节,这样修改数字时很多时候无需扩展元素长度,不过对于小点的数字也会浪费空间。

大概率上,对于同样的数据,bson需要的空间可能会比json大一些。
展开
评论