首页 前端知识 超简单解决jsoncpp生成中文乱码问题

超简单解决jsoncpp生成中文乱码问题

2024-08-27 09:08:25 前端知识 前端哥 780 915 我要收藏

        近期写项目做后端数据生成json格式返回给前端,遇到了中文乱码变成\nxxx格式,网上很多人都是修改jsoncpp源码然后重新编译,对于咱们这种小白那是十分不友好啊~几天后终于找到一种解决中文乱码的好办法,而且不需要修改源码,特此分享给大家以供参考:

std::string toString(const Json::Value &val){
    static Json::Value def = []() {
        Json::Value def;
        Json::StreamWriterBuilder::setDefaults(&def);
        def["emitUTF8"] = true;
        return def;
    }();
    std::ostringstream stream;
    Json::StreamWriterBuilder stream_builder;
    stream_builder.settings_ = def;//Config emitUTF8
    std::unique_ptr<Json::StreamWriter> writer(stream_builder.newStreamWriter());
    writer->write(val, &stream);
    return stream.str();
}

        当我们需要对一个构造好的Json::Value序列化为std::string时只需调用这个函数,将Json::Value对象作为参数传入即可获得std::string对象!

转载请注明出处或者链接地址:https://www.qianduange.cn//article/17015.html
标签
评论
会员中心 联系我 留言建议 回顶部
复制成功!