欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2019年04月08日 13:54:35   作者:stpeace  
今天小編就為大家分享一篇關于rapidjson解析json代碼實例以及常見的json core dump問題,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

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

總結

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

相關文章

  • C++版本簡易Flappy bird

    C++版本簡易Flappy bird

    這篇文章主要介紹了C++版本簡易Flappy bird的相關資料,需要的朋友可以參考下
    2015-03-03
  • win10中的dlib庫安裝過程

    win10中的dlib庫安裝過程

    這篇文章主要介紹了win10中dlib庫的安裝過程,本文通過實例圖文介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Qt實現簡易計時器的示例代碼

    Qt實現簡易計時器的示例代碼

    計時器實現四個功能:開始計時、停止計時、暫停計時以及打點。當點擊暫停時,開始按鈕和停止按鈕無法點擊。當點擊停止時,開始按鈕和暫停按鈕無法點擊,此時停止按鈕變?yōu)榍辶?。本文將用Qt實現這樣的一個計時器,需要的可以參考一下
    2022-06-06
  • C語言常用庫函數的使用及模擬實現詳解例舉

    C語言常用庫函數的使用及模擬實現詳解例舉

    C語言庫函數是把自定義函數放到庫里,是別人把一些常用到的函數編完放到一個文件里,供程序員使用,下面讓我們一起來詳細了解它
    2022-04-04
  • 詳解C++編程中標記語句與復合語句的寫法

    詳解C++編程中標記語句與復合語句的寫法

    這篇文章主要介紹了C++編程中標記語句與復合語句的寫法,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2016-01-01
  • 簡要說明C語言中指針函數與函數指針的區(qū)別

    簡要說明C語言中指針函數與函數指針的區(qū)別

    這篇文章主要介紹了C語言中指針函數與函數指針的區(qū)別,指針函數和函數指針是C語言入門學習中的基礎知識,需要的朋友可以參考下
    2016-04-04
  • JS調用C++函數拋出異常及捕捉異常詳解

    JS調用C++函數拋出異常及捕捉異常詳解

    這篇文章主要介紹了js調用C++函數的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-08-08
  • C語言container of()函數案例詳解

    C語言container of()函數案例詳解

    這篇文章主要介紹了C語言container of()函數案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Qt實現打地鼠游戲的方法詳解

    Qt實現打地鼠游戲的方法詳解

    這篇文章主要和大家詳細介紹了如何利用Qt實現一個簡單的打地鼠游戲,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-10-10
  • C++實現LeetCode(168.求Excel表列名稱)

    C++實現LeetCode(168.求Excel表列名稱)

    這篇文章主要介紹了C++實現LeetCode(168.求Excel表列名稱),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08

最新評論