gpt4 book ai didi

loops - 升压: Just iterate over elements of a ptree

转载 作者:行者123 更新时间:2023-12-02 05:42:56 27 4
gpt4 key购买 nike

这应该很简单(我只是在学习 boost,所以我错过了一些东西)

我已经使用 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() 中的内容)及其相应的值。

抱歉,如果这很简单

罗斯

最佳答案

我正在寻找同样的东西,但无法在任何地方找到答案。事实证明这确实非常简单:

ptree pt;
/* load/fill pt */
for(iterator iter = pt.begin(); iter != pt.end(); iter++)
{
std::cout << iter->first << "," << iter->second.data() << std::endl;
}

iter->first是条目名称,iter->second.data()是第一层的条目值。 (然后您可以使用 iter->second.begin()/end() 重新迭代以达到更深层次。)

此外,如果此迭代中的一个这样的节点不是终端节点并且本身是一个 ptree,您可以从该迭代器本身将其作为 ptree 获取:ptree subPt = iter->second.get_child("nodeName");

关于loops - 升压: Just iterate over elements of a ptree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5664705/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com