0
我正在解析JSON文件,其中与某个键相对应的值可以是原语(字符串)或子树。有用的,例如用于存储有关的人与一个雇主的信息,例如测试增强属性树是否存储原语或子树
{
"employer" : "NASA";
}
或人多的雇主,例如
{
"employer" :
{
"weekdays" : "Taco Bell" ,
"weekends" : "Google Inc"
}
}
在解析雇主键我需要测试其是否属性树价值存储一个原始(单一雇主)或一个子树(多个雇主)。我试过get_value_optional
如下图所示,但我仍然得到初始化的employerName
这是一个空字符串。有没有另外一种方法可以解决这个问题。
boost::optional<std::string> employerName = propertyTree.get_value_optional<std::string>();
if(employerName.is_initialized())
{
std::string name = employerName.get(); // returns empty string if propertyTree stores a subtree
}
找到了答案'propertyTree.size()'。我刚刚取消了这个问题,因为我认为答案可能对未来的其他人有用。 – Olumide
然后考虑[写你自己的答案](http://stackoverflow.com/help/self-answer)(你也可以在48小时后接受它)。这将标记为在搜索结果中回答。 – rhashimoto
@Olumide什么rhashimoto说 – sehe