首页 > 解决方案 > rapidjson + c++:“abort() 已被调用”错误

问题描述

我需要在我的 C++ 程序中解析 json。我决定为此目的使用 RapidJson 库,但出现“abort() 已被调用”错误。我将代码截断为:

#include <iostream>
#include <cstdlib>
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/encodings.h"
#include "rapidjson/stringbuffer.h"

using namespace std;
using namespace rapidjson;

typedef GenericDocument<UTF16<> > WDocument;
typedef GenericValue<UTF16<> > WValue;

wchar_t request[] = L"{\"result\":\"OK\"}";

int main()
{
    WDocument d;
    d.Parse(request);
    WValue& v = d[L"result"]; // The exception throws here
    if (wcscmp(v.GetString(), L"OK"))
    {
        cout << "Success!" << endl;
    }
    else
        cout << "Fail!" << endl;
    system("pause");
    return 0;
}

但我又得到了错误。错误在哪里?提前致谢!

标签: c++rapidjson

解决方案


check this line:
wchar_t request[] = L"{\"result\":\"OK\"}";

there is a character before the left brace.


推荐阅读