json xml protobuf格式对比

json格式(bson)简介

json格式源自于js,它最大的特点就是一切都是对象,一个对象由键/值对表示:
{ “keyname”: value}
其中valve可以是如下类型:

  • 字符串,用“”扩起来
  • 数字
  • bool:true和false
  • 数组:用【】扩起来,用“,”分割例如
    {“adds”:[“chengdu”,”xi’an”]}
  • 对象:用{}扩起来例如:
    {“adds”:{“chengdu”:”jinjiang”,“xi'an”:”bashing”}}

Json格式中字符集必须为utf8.

bson

全称binary json一种类似于json的存储格式。它源于json格式,在mongodb文档数据库中作为mongodb数据存储格式。
它内部为了优化c语言解析和减少存储空间,对json格式进行了一些新的定义。例如它引入了变长int格式,可以根据存储的数值的大小决定存储空间,而不是传统int32默认作用4byte空间。它为了加快编程语言解析,在元素头就定义了元素占用空间的大小,如此可以不用顺序去读最终匹配到】,而一次性就跳转到一个元素(对象)的结尾。
它的优点:更小的空间占用,更快的语言解析速度

xml格式

xml格式是一种结构化格式

json vs xml

json优点

  • 易读性 毋庸置疑json对于人类更加友好
  • 易于解析:js,python,go都可以很方便的解析json格式
  • 占用空间少:较xml格式json占用空间更少

xml 和json解析方式

xml有两种解析方式

  • dom
    dom方式将整个xml文档当成文档对象,进行解析。它要求一次性将所有内容读入。消耗内存和处理时间。
  • Sax
    一种流式处理方式,逐步解析,而程序可以随时终止。
    json目前只提供整文解析方式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值