jsoncpp解析拼装数组
intmain() { /* 数组创建与分析: 例子一: stringstrValue="{"ldh":"001","gfc":"002","yyj":"003","andy":["005","123","true"]}"; Json::Readerread; Json::Valuevalue; value["ldh"]="001"; value["gfc"]="002"; value["andy"].append("005"); value["andy"].append("123"); value["andy"].append("true"); //if(read.parse(strValue,value)) { Json::Valueval_array=value["andy"]; intiSize=val_array.size(); for(intnIndex=0;nIndex<iSize;++nIndex) { cout<<val_array[nIndex]<<endl; } } */ /* 例子二: Json::Readerread; Json::Valuevalue; value["ldh"]="001"; value["gfc"]="002"; Valueitem; Valuearray; item["andy1"]="005"; array.append(item); item["andy1"]="123"; array.append(item); item["andy1"]="true"; array.append(item); value["andy"]=array; cout<<value.toStyledString()<<endl; Json::Valueval_array=value["andy"]; intiSize=val_array.size(); for(intnIndex=0;nIndex<iSize;++nIndex) { cout<<val_array[nIndex]<<endl; if(!val_array[nIndex]["andy1"].isNull()) { cout<<val_array[nIndex]["andy1"]<<endl; } } */ /* 例子三: std::stringstrValue="{"name":"json","array":[{"cpp":"jsoncpp"},{"java":"jsoninjava"},{"php":"support"}]}"; Json::Valuevalue; Readerread; if(!read.parse(strValue,value)) { return-1; } cout<<value.toStyledString()<<endl; Json::Valueval_array=value["array"]; intiSize=val_array.size(); for(intnIndex=0;nIndex<iSize;++nIndex) { cout<<val_array[nIndex]<<endl; if(val_array[nIndex].isMember("cpp")) { cout<<val_array[nIndex]["cpp"]<<endl; } } */ getchar(); return0; } 起初使用jsoncpp的时候很别扭,例如第三个例子里面的数组有三项,在使用的时候我们却不能直接使用val_array[nIndex].asString.的确是没有搞清楚里面的格式. 总结一点:无论是哪种形式的数组,在解析的时候直接看看它对应索引的内容,我们就可以推导出其解析的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |