我想使用RapidJson解析C++中的json數據。我不知道我在哪裏做錯了,但我的斷言失敗了。當我嘗試調試它顯示sigabrt時,它運行線斷言。社區我感謝你的見解。感謝您回答這個天真的問題。斷言快速失敗
#include <iostream>
#include <assert.h>
#include "hpdf.h"
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include <rapidjson/istreamwrapper.h>
#include <fstream>
int main() {
std::ifstream ifs("/home/is/..../test.json");
rapidjson::IStreamWrapper isw(ifs);
rapidjson::Document document;
document.ParseStream(isw);
assert(document.IsObject());
rapidjson::Value::MemberIterator hello = document.FindMember("timeStamp");
std::string vali = document["timestamp"].GetString();
std::cout << vali << std::endl;
return 0;
}
我嘗試過使用rapidJson文件流,但它又失敗了在同一行。
[
{
"timeStamp": "...",
"alertType": "...",
"instanceId": 8
}
]
使用[GCC](http://gcc.gnu.org/)編譯所有警告和調試信息:'g ++ -Wall -Wextra -g'。 **使用調試器**'gdb'。使用[jq](https://stedolan.github.io/jq/)檢查JSON輸入的有效性。將輸入文件路徑作爲程序參數傳遞給'main' –
仔細閱讀[RapidJson教程](http://rapidjson.org/md_doc_tutorial.html),然後深入參考文檔 –
這裏提供了很多錯誤檢查的機會。也許文件甚至沒有打開。 –