Dhi*_*wal 4 c++ json boost boost-propertytree
我有一个示例json记录,我通过boost json解析器解析并将其保存到boost属性树以获取所有键值对.下面的代码我能够获得树的第一个属性,但我怎样才能得到第二个属性值?当我试图得到它时,它向我显示"没有这样的节点"的异常.
如果我迭代树,然后它显示我所有的键.我不明白它是什么错.参考:http://www.boost.org/doc/libs/1_52_0/doc/html/boost_propertytree/accessing.html
json string := {"type":"net.aggregate","post.source":"1209010340", "val":1000}
Run Code Online (Sandbox Code Playgroud)
码:
boost::property_tree::ptree pt;
read_json("jSon string object", pt);
cout << pt.get("type", ""); // working
cout << pt.get("post.source", "") // showing error ....`
Run Code Online (Sandbox Code Playgroud)
小智 7
由于属性名称包含一个点,因此您必须使用不同的分隔符,因此在您的情况下将是:
cout << pt.get(ptree::path_type("post.source", '/'), "");
Run Code Online (Sandbox Code Playgroud)