您的位置:首页 > Web前端 > JavaScript

BOOST JSON 数组解析

2016-04-06 16:43 465 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: