json库使用
示例:
//包含头文件
#include <json/json.h>
Json::Value root;
root["name"] = "plugin";
// 添加数组
root["array"].append("arr0");
root["array"].append("arr1");
// 嵌套对象
root["obj"]["inner"] = 1;
// 检查键是否存在
if (root.isMember("obj") && root["obj"].isObject() && root["obj"].isMember("inner") && root["obj"]["inner"].isInt()) {
LOG(INFO)<< root["obj"]["inner"].asInt();
}
// 处理数组字段
if (root.isMember("array") && root["array"].isArray()) {
for (const auto& item : root["array"]) {
LOG(INFO)<<item.asString();
}
}
// 序列化字符串
Json::StreamWriterBuilder writer;
std::string str = Json::writeString(writer, root);
LOG(INFO) << "json string:\n" << str ;
更多json库的高级用法可查看头文件。