跳到主要内容

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库的高级用法可查看头文件。