如何将JSON返回的字符串转换为中文?使用C或C ++

时间:2019-06-06 01:57:35

标签: c++ json character-encoding chinese-locale rapidjson

我在vs2010中编写C ++代码。

如何将JSON返回的字符串转换为中文?

从服务器返回的JSON字符串具有此编码

"name":"\u4e2d\u6587\u540d"

我无法将其转换为

string str="中文名";

我只能得到:

string str="\u4e2d\u6587\u540d";

我不知道如何解决它。我使用rapidjson

请给我看一些代码示例。谢谢。

1 个答案:

答案 0 :(得分:0)

rapidjson工作正常。 x2struct使用Rapidjson处理json

#include <iostream>
#include "x2struct/x2struct.hpp"

using namespace std;

int main(int argc, char *argv[]) {
    map<string, string> m;
    string s = "{\"name\":\"\u4e2d\u6587\u540d\"}";
    x2struct::X::loadjson(s, m, false);
    cout<<m["name"]<<endl;
    return 0;
}

输出为:

中文名