您好,登錄后才能下訂單哦!
這篇文章主要介紹JsonCpp如何實現數據讀取,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Jsoncpp是個跨平臺的C++開源庫。下載地址:http://sourceforge.net/projects/jsoncpp/。assert作為錯誤處理方法,會中止程序的運行,切記!
1)從文件中解析json信息
std::ifstream ifs;
ifs.open("testdata.json", std::ios::binary);
Json::Reader reader(Json::Features::strictMode());
Json::Value root;
if (NULL == reader.parse(ifs, root))
{
ifs.close();
return;
}
ifs.close();
2)從緩存中解析json信息
std::string strJsonText ="{\"total\":1,\"toReturn\":[{\"createTime\":\"20080806114526000+0800\",\"createUser\":\"張三\"}],\"success\":false}";
Json::Reader reader(Json::Features::strictMode());
Json::Value root;
if (NULL == reader.parse(istrJsonText, root)) return;
注意:
1)
JsonCpp解析非法json時,會主動容錯成字符類型,對字符類型取下標時,會觸發assert終止程序。解決的方法:啟用嚴格模式,當解析非法json時返回false,不再自動容錯。創建讀取對象的時候,指定特性:Json::Reader reader(Json::Features::strictMode());
不提倡使用 Json::Reader reader;
2)Json格式的文本文件用Windows的記事本打開,可能會往文本中添加BOM標識,導致讀取失敗,建議使用Notepad++進行修改查看
以上是“JsonCpp如何實現數據讀取”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。