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