BOOST JSON 数组解析

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值