类库JSONCPP之二-JSON及JSONCPP介绍

1JSON全称JavaScript Object Notation。是一种轻量级的数据交换格式。其独立于语言,并且更容易理解。

数据的存储形式分为两种:Key:Value的集合(常被理解为对象)以及Value的序列(常被理解为数组)形式。

Key:Value的集合:一般以“{”开始,以“}”结束,每一各Key后加“:”,每一对Key:Value之间以“,”分隔开。

如:{“name”:”LiMin”,“Age”:”12”,“Address”:”Xuhui DistrictShanghai”}

Value的序列:一般以“[”开始,以“]”结束,每一个Value之间也是以“[“abc”,123,true,false,null]

XML相比优点:1)更短;2)格式简单;3)读取简单;

2JsonCPP常用的类

JsonCPPC++格式的JSON类库。常用的类包括:

1)、Json::Value

JsonCPP中的核心类,用来存储各种各样的类型数据,e.g.intstringcharbool等等。

2)、Json::Reader

Reader类用来将字符或者流解析到C++支持的数据类型中。主要方法为parse()方法。

3)、Json::Writer

Writer类为一虚类,需要子类来实现编码的功能。

4)、Json::FastWriter

FastWriter类为Writer类的子类,将C++的类型编码为JSON所支持的格式。

5)、Json::StyledWriter

StyledWriter类也为Writer类的子类,功能与FastWriter一样。与FastWriter所不同的是FastWriter输出的是不带格式的JSON,而StyledWriter输出的是带格式的JSON


从图中看出,应该是style输出的形式比较美观些。

JSON API参考网址:http://jsoncpp.sourceforge.net/index.html

相关文章

文章浏览阅读2.4k次。最近要优化cesium里的热力图效果,浏览...
文章浏览阅读1.2w次,点赞3次,收藏19次。在 Python中读取 j...
文章浏览阅读1.4k次。首字母缩略词 API 代表应用程序编程接口...
文章浏览阅读802次,点赞10次,收藏10次。解决一个JSON反序列...
文章浏览阅读882次。Unity Json和Xml的序列化和反序列化_uni...