jsoncpp中文乱码问题


最近的一个项目中使用了json传送部分参数,可是使用时发现匪夷所思的现象,即中文被转换为了unicode编码。

最后使用StreamWriterBuilder解决了此问题,特此记录一下。

#include "stdafx.h"
#include "include\json\json.h"
#include <iostream>

using namespace std;

int main()
{
    Json::Value J; // 要生成的 json 对象

    J["data"] = 12345;
    J["error"]= "测试";

    string strTest = J.toStyledString();
    cout << "old:" << strTest << endl;

    Json::StreamWriterBuilder jswBuilder;
    jswBuilder["emitUTF8"] = true;
    std::unique_ptr<Json::StreamWriter>jsWriter(jswBuilder.newStreamWriter());

    std::ostringstream os;
    jsWriter->write(J, &os);
    cout << "new:" << os.str() << endl;
    return 0;
}

 

 

参考文档:C++ Builder 生成 json,Json::StreamWriterBuilder 参数详解 - 简书 (jianshu.com)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM