json解析出来是这玩意,怎么搞
发布网友
发布时间:2022-05-10 15:15
我来回答
共1个回答
热心网友
时间:2022-04-23 19:40
其实解析json字符串,用他的几个东西就足够
Json::Value 表示一个json值对象,后面会频繁用到
Json::Reader read对象,用来解析josn字符串,有reader就有writer --
Json::Writer
假设有这么个json字符串,这里主要讲一下带数组这种的串,象最简单的{"key":"value"}就不讲了- -string strJson =
"{"key1":"value1","array":[{"key2":"value2","key3":"aa"},{"key2":"value3","key3":"bb"},{"key2":"value4","key3":"cc"}]}";一种方法:Json::Reader reader;
Json::Value val;
if(!reader.parse(strJson,val))return -1;std::string str = val["key1"].asString();
Json::Value obj_array = val["array"];
for (int i = 0; i< obj_array.size();i++){str =obj_array[i]["key2"].asString();str =obj_array[i]["key3"].asString();}一次for循环就全部解析出来了
另一种,用他内建的迭代器,其实也就是他自己的一个vector<string成员,可以自己去看json:value的定义