类库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

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...