欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

boost json處理不標準

劉姿婷2年前7瀏覽0評論

Boost庫是C++社區很受歡迎的開源庫之一,其中對于JSON的處理也非常強大。不過,在處理不標準的JSON字符串時,Boost庫會出現一些不容易發現的問題。

boost::property_tree::ptree ptree;
std::stringstream ss{"{\"foo\": bar}"};
boost::property_tree::read_json(ss, ptree);

在上述代碼中,我們試圖將一個不標準的JSON字符串讀入一個property_tree對象。由于在不標準的JSON字符串中,"bar"應該被當做字符串而不是變量名,因此Boost庫會拋出一個異常。

boost::property_tree::ptree ptree;
std::stringstream ss{"{\"foo\" : {\"bar\": 123}"};
boost::property_tree::read_json(ss, ptree);

此外,如果JSON字符串的嵌套不正確,也會導致Boost庫出現異常。在上面的代碼中,我們缺少一個右括號導致Boost庫無法正確讀取JSON字符串。

綜上所述,盡管Boost庫對于標準的JSON字符串的處理非常之好,但是對于不標準的JSON字符串的處理仍然需要進行謹慎。