国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

rapidjson解析json代碼實例以及常見的json core dump問題

2020-01-26 13:29:08
字體:
來源:轉載
供稿:網友

rapidjson解析json代碼實例

直接看代碼:

#include <iostream>#include <stdio.h>#include<unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include<sstream>// 請自己下載開源的rapidjson#include "rapidjson/prettywriter.h"#include "rapidjson/rapidjson.h"#include "rapidjson/document.h"#include "rapidjson/stringbuffer.h"#include "rapidjson/writer.h"#include "rapidjson/memorystream.h"using namespace std;using rapidjson::Document;using rapidjson::StringBuffer;using rapidjson::Writer;using namespace rapidjson;string getStringFromJson(const string &jsStr, const string &strKey){ Document document; if (document.Parse(jsStr.c_str()).HasParseError() || !document.HasMember(strKey.c_str()))  { return ""; } const rapidjson::Value &jv = document[strKey.c_str()]; return jv.GetString();}int main(int argc, char *argv[]){ string s = "{/"code/":0,/"msg/":/"ok/"}"; cout << s << endl; cout << getStringFromJson(s, "msg") << endl; return 0;}

結果:

{"code":0,"msg":"ok"}
ok

注意: 

1. 如果不進行document.Parse(jsStr.c_str()).HasParseError()判斷,則很容易core dump

2. 如果不進行!document.HasMember(strKey.c_str())判斷,則很容易core dump

3. code的是為0,是整數,如果調用上述getStringFromJson,會core dump,此時應該用return jv.GetInt();

OK,不多說,人生苦短,我愛rapidjson

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 双柏县| 盐城市| 纳雍县| 孟州市| 奉贤区| 广东省| 大新县| 济源市| 昔阳县| 林周县| 佛冈县| 土默特左旗| 云林县| 宝山区| 昌图县| 沙洋县| 康平县| 黔西| 淮北市| 麻城市| 历史| 盘山县| 南木林县| 沙湾县| 武隆县| 历史| 海兴县| 彰武县| 东阿县| 西吉县| 巴南区| 宁武县| 沂水县| 石家庄市| 文安县| 汕头市| 馆陶县| 宣威市| 莫力| 绥芬河市| 石台县|