1. RapidJson简介
RapidJson是一个C++的JSON解析器和生成器。RapidJson具有小而全,高性能,跨平台、不依赖外部库而独立,对Unicode友好和内存友好等特点。
2.RapidJson安装
RapidJson依赖cmake作为通用生成工具,以Ubuntu为例,安装步骤如下:
1.下载RapidJson库:
#git submodule update --init
2.在RapidJson库目录下,创建一个build目录:
#mkdir build
3.在build目录下执行:
#cmake ..
4.在 Linux/Ubuntu 下,于 build 目录运行:
#make
注意:在 Windows 下,编译生成在 build 目录中的 solution。
5.在buil目录下执行:
#make install
2.RapidJson简单使用
#include <iostream>
#include <string>
#include <assert.h>
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
using namespace std;
using namespace rapidjson;
int main(void)
{
const char *json = "{\"project\":\"rapidjson\",\"hello\":\"welcome to the rapidjson world\",\"year\":2018,\"month\":6,\"day\":18}";
Document d;
d.Parse(json);
string str = d["project"].GetString();
str.append(",");
str +=d["hello"].GetString();
int year,month,day;
year = d["year"].GetInt();
month = d["month"].GetInt();
day = d["day"].GetInt();
cout<<str.c_str()<<endl;
cout<<"Date:"<<year<<"-"<<month<<"-"<<day<<endl;
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
d.Accept(writer);
cout<<buffer.GetString()<<endl;
return 0;
}
最后,通过编译运行,结果如下:
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/878c13c8139596508150efb2e4feb125.png)
初次使用rapidjson,有很多东西还需要时间去消化,花时间去研究源码,深入学习,多练习,多总结,才能很好的使用rapidjson库。