不进行streamWritebuilder的设置,写入的中文会变成unicode形式,如下图
并且转中文不是之前写入的内容,
这里使用的是新版的jsonWrite
#include<iostream>
#include<string>
#include<json/json.h>
#include<fstream>
void StreamWrite()
{
Json::Value root;
root["Name"] = "王";
root["Age"] = 20;
//关键在于对builder的属性设置
Json::StreamWriterBuilder builder;
static Json::Value def = []() {
Json::Value def;
Json::StreamWriterBuilder::setDefaults(&def);
def["emitUTF8"] = true;
return def;
}();
builder.settings_ = def;//Config emitUTF8
const std::unique_ptr<Json::StreamWriter> writer(builder.newStreamWriter());
std::fstream fs;
fs.open("s