【Json-RPC框架】:Json序列化后,不能显式中文?增加emitUTF8配置
解决办法:
给工厂类设置emitUTF8=true。
swbuilder.settings_["emitUTF8"]=true;
static bool serialize(const Json::Value &val, std::string &body) {
std::stringstream ss;
Json::StreamWriterBuilder swbuilder;
//配置信息
swbuilder.settings_["emitUTF8"]=true;
std::unique_ptr<Json::StreamWriter> sw(swbuilder.newStreamWriter());
int n=sw->write(val,&ss);
if(n!=0)
{
LOG("sw->write(val,&ss) error!");
return false;
}
body=ss.str();
return true;
}
这就是在用中间类Value存储的时候,存的是中文,但是在write转化的时候,UTF8字符转化成为了
unicode的形式。
\u6c34
对应的 Unicode 字符是 "水"。
\u679c
对应的 Unicode 字符是 "果"。