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