类库JSONCPP之二-JSON及JSONCPP介绍
1、JSON全称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)读取简单; 2、JsonCPP常用的类 JsonCPP是C++格式的JSON类库。常用的类包括: 1)、Json::Value JsonCPP中的核心类,用来存储各种各样的类型数据,e.g.int,string,char,bool等等。 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |