最近临时抱佛脚,写C++有一周时间了,用到了libcurl、json、mq相关。在这篇博文里我将使用json的过程记录下来。
rapidjson是腾讯开源的C++ json库,开源地址看这里:https://github.com/Tencent/rapidjson
rapidjson无需编译,只要将include下的头文件复制到你工程中就可以直接使用了。
在你的cpp文件中引入头文件
#include "include/rapidjson/document.h"
#include "include/rapidjson/writer.h"
#include "include/rapidjson/stringbuffer.h"
生成JSON
string sRobotId = "R201807280858001";
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
Document doc;
doc.SetObject();
Document::AllocatorType &allocator = doc.GetAllocator();
doc.AddMember("robotId", StringRef(sRobotId.c_str()), allocator);
doc.Accept(writer);
cout << buffer.GetString() << endl;
解析JSON
string cJson = "{\"statusCode\": 200,\"data\": {\"text\": \"test\"}}";
Document d;
d.Parse(cJson.c_str());
Value& s = d["data"]["text"];
cout << s.GetString() << endl;