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