BOOST JSON 数组解析

来源:互联网 发布:网络犯罪现场勘查 编辑:程序博客网 时间:2024/06/05 04:22

JSON消息格式:

{“jobIDs”:

        ["24324325435",

          "ew32trt4ty45yt45"

         ]

}


filePath 存储JSON消息的文件

int CParseJson::readBoostJson(string& filePath, vector<string>& jobID){int ret = 0;ptree ptJobIDs, ptChild, readPt;read_json(filePath, readPt);if(readPt.count("jobIDs")){ptree ptChildRead = readPt.get_child("jobIDs");for(BOOST_AUTO(pos, ptChildRead.begin()); pos != ptChildRead.end(); ++pos){string job = pos->second.get_value<string>();jobID.push_back(job);}}else{LOG4CXX_DEBUG(logger, "no delete msg!");}return ret;}int CParseJson::writeBoostJson(string jobid, string& filePath){int ret= 0 ;ptree ptJobIDs, ptChild, readPt;read_json(filePath, readPt);if(readPt.count("jobIDs")){ptree ptChildRead = readPt.get_child("jobIDs");/*for(BOOST_AUTO(pos, ptChildRead.begin()); pos != ptChildRead.end(); ++pos){string job = pos->second.get_value<string>();jobID.push_back(job);}*/readPt.erase("jobIDs");write_json(filePath, readPt);ptChildRead.push_back(make_pair("", jobid));readPt.push_back(make_pair("jobIDs", ptChildRead));write_json(filePath, readPt);}else{ptChild.push_back(make_pair("", jobid));ptJobIDs.push_back(make_pair("jobIDs", ptChild));write_json(filePath, ptJobIDs);}return ret;}

0 0
原创粉丝点击