boost:仅迭代ptree的元素
|
这应该很简单(我只是在学习提升,所以我缺少了一些东西)
我已经使用json_read读取了一些简单的JSON,现在有了一个ptree。网络上的所有示例均使用ptree.get(\“ entry_name \”)来获取条目。我要做的只是:
ptree pt;
read_json(ss,pt);
BOOST_FOREACH(ptree::value_type &v, pt)
{
std::cout << v.{entry_name} << v.{value}
}
即遍历ptree并写出每个名称(即您在pt.get()中输入的名称)及其对应的值。
抱歉,这很简单
罗斯
没有找到相关结果
已邀请:
5 个回复
凰葱崎济邯
iter-> first是条目名称,iter-> second.data()是第一级的条目值。 (然后,您可以使用iter-> second.begin()/ end()进行更深层次的迭代。) 此外,如果此迭代中的一个这样的节点不是终端节点,并且本身是ptree,则可以从此迭代器本身将其作为ptree获得: ptree subPt = iter-> second.get_child(\“ nodeName \”); 感谢您为我提供了一个理解它的方向,ptree现在看起来像其他C ++ stl函数一样非常直观。
香腔弥胯瓤
犯痪桂涛杭
梦话快家腹
对于此json:
它输出:
邦绊门蔽惩