最近的一个项目中使用了json传送部分参数,可是使用时发现匪夷所思的现象,即中文被转换为了unicode编码。
最后使用StreamWriterBuilder解决了此问题,特此记录一下。
`
``cpp
#include “stdafx.h”
#include “include\json\json.h”
#include
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;
}