JsonCpp粗略使用方法

因为之前做课程设计的时候需要实现对字符串的解析所以研究了一下JsonCpp。JsonCpp是一个开源的C++类库,实现从C++中使用Json,Json是JavaScript内建的一种数据交换格式,和XML类似,但是对于人类来说Json的格式更易于阅读和理解,而且如果用于网络传输,相同量和复杂度的数据,Json比XML花费的流量更少,这一点也是Json这个东西近两年越来越屌的原因,在Web前端领域大有取代XML之势(当然JS对它的原生支持也是原因之一)。至于为什么不使用XML而使用Json,这个原因嘛,主要还是自己对Json更熟悉,之前写JS代码的时候大量使用过Json。

Json的格式本身和C/C++的结构体很接近,可以理解为Json继承了C/C++的设计风格

JsonCpp中主要有三个类:Value,Reader,Writer,且都包含在Json命名空间中。如果已经将Jsonpp导入到了工程当中,在程序头include“json.h”即可。

1,Json :: Value:

Value描述的是Json对象本身,例:

可见Value类描述了Json对象中的每一个节点。

2,Json :: Writer:

Writer类的作用是将已有的Json对象转换为字符串,就是把描述Json的整个语句原封不动地变成字符串,但Writer是一个纯虚类,可以使用的派生类有:Json::FastWriterJson::StyledWriterJson::StyledStreamWriter。FastWriter是最快的一种,可以将Json快速生成一行字符串,StyleWriter可以生成有缩进格式的字符串,例:

3,Json :: Reader:

Reaer类的作用与Witer相反,是将Json字符串变成Json对象,例:

结果生成的Json对象会赋值给stu0。

Leave a Reply

Your email address will not be published. Required fields are marked *