我正在尝试使用此问题boost::property_tree
中显示的方法从 a 中读取数组数据。在该示例中,数组首先作为字符串读取,转换为字符串流,然后读入数组。在实施该解决方案时,我注意到我的字符串是空的。
示例输入(json):
"Object1"
{
"param1" : 10.0,
"initPos" :
{
"":1.0,
"":2.0,
"":5.0
},
"initVel" : [ 0.0, 0.0, 0.0 ]
}
这两种数组表示法都被 boost json 解析器解释为数组。我确信数据存在于属性树中,因为在调用 json writer 时,数组数据存在于输出中。
这是失败的示例:
std::string paramName = "Object1.initPos";
tempParamString = _runTree.get<std::string>(paramName,"Not Found");
std::cout << "Value: " << tempParamString << std::endl;
我什么时候paramName
得到"Object1.param1"
“10.0”作为字符串输出,什么时候得到一个空字符串,如果paramName
是树中不存在的东西,则返回。"Object1.initPos"
paramName
"Not Found"