json xml protobuf格式对比-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

json xml protobuf格式对比

简介: json格式(bson)简介 json格式源自于js,它最大的特点就是一切都是对象,一个对象由键/值对表示:{ “keyname”: value} 其中valve可以是如下类型: 字符串,用“”扩起来 数字 bool:true和false 数组:用【...

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目前只提供整文解析方式。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章