in this question 표시된 방법을 사용하여 boost::property_tree
에서 배열 데이터를 읽으려고합니다. 이 예에서 배열은 먼저 문자열로 읽혀 문자열 스트림으로 변환 된 다음 배열로 읽습니다. 이 솔루션을 구현하는 동안 내 문자열이 비어있는 것으로 나타났습니다.boost :: property_tree에서 배열 읽기가 비어 있습니다.
예 입력 (JSON) : 이러한 배열 표기법의
"Object1"
{
"param1" : 10.0,
"initPos" :
{
"":1.0,
"":2.0,
"":5.0
},
"initVel" : [ 0.0, 0.0, 0.0 ]
}
모두 부스트 JSON 파서에 의해 배열로 해석됩니다. json writer를 호출 할 때 배열 데이터가 출력에 있기 때문에 데이터가 속성 트리에 존재한다고 확신합니다.
이
이 실패하는 내용의 예입니다paramName
이
"Object1.param1"
때 나는
paramName
이
"Object1.initPos"
경우 문자열로 "10.0"출력이, 내가 빈 문자열을 얻을 얻을
std::string paramName = "Object1.initPos";
tempParamString = _runTree.get<std::string>(paramName,"Not Found");
std::cout << "Value: " << tempParamString << std::endl;
, 경우 paramName
은 뭔가 트리에없는 "Not Found"
이 반환됩니다.
알 수없는 그것은 관련,하지만 난 부스트 1.49.0을 사용하고있는 경우 – 2NinerRomeo