美文网首页
json xml protobuf格式对比

json xml protobuf格式对比

作者: marshalzxy | 来源:发表于2018-11-22 19:33 被阅读34次

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

    相关文章

      网友评论

          本文标题:json xml protobuf格式对比

          本文链接:https://www.haomeiwen.com/subject/ggrrqqtx.html