首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Json-RPC框架】:Json序列化后,不能显式中文?增加emitUTF8配置

【Json-RPC框架】:Json序列化后,不能显式中文?增加emitUTF8配置

作者头像
用户11396661
发布于 2025-03-20 05:53:15
发布于 2025-03-20 05:53:15
10100
代码可运行
举报
文章被收录于专栏:C++开发C++开发
运行总次数:0
代码可运行

解决办法:

给工厂类设置emitUTF8=true。

swbuilder.settings_["emitUTF8"]=true;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 字符是 "果"。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux网络-------2.应⽤层⾃定义协议与序列化
协议是⼀种"约定".socketapi的接⼝,在读写数据时,都是按"字符串"的⽅式来发送接收的.如果我们要传输⼀些"结构化的数据"怎么办呢?
hope kc
2025/07/30
1600
Linux网络-------2.应⽤层⾃定义协议与序列化
【Json-RPC框架】:Json::CharReader,parse函数反序列化的返回值
在parse函数这里,成功是返回非0的值了。非0才是(true),0反而是false。和一般的函数返回值相反。
用户11396661
2025/03/20
1800
【Json-RPC框架】:Json::CharReader,parse函数反序列化的返回值
【在线五子棋对战】三、Json && JsonCpp的使用
​ JSON(JavaScrip Object Notation) 是 一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的 js 规范) 的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
利刃大大
2025/06/10
1000
C++在线五子棋对战(网页版)项目:实用工具类模块代码实现
#ifndef _M_LOGGER_H_  和 #define _M_LOGGER_H_是预处理器指令,用于防止头文件被重复包含。如果头文件已经被包含了,那么这对指令将会被跳过。
二肥是只大懒蓝猫
2023/10/13
4410
C++在线五子棋对战(网页版)项目:实用工具类模块代码实现
【Linux】:应用层自定义协议 & 序列化 & 网络版计算器
🔥 在网络编程中,协议是一个关键概念。协议本质上是一种“约定”,规定了两方在通信时如何格式化和处理数据。本文将深入探讨如何通过协议进行结构化数据的传输,并且通过一个具体的网络版计算器( TCP服务器-客户端)示例,展示序列化与反序列化的实现。
IsLand1314
2025/01/24
2390
【Linux】:应用层自定义协议 & 序列化 & 网络版计算器
基于C++、JsonCpp、Muduo库实现的分布式RPC通信框架
RPC(Remote Procedure Call,远程过程调用 )允许程序调用远程计算机上的服务或函数,而无需显式编写网络通信代码,就像调用本地函数一样方便地调用远程服务的函数。
_小羊_
2025/05/03
3660
基于C++、JsonCpp、Muduo库实现的分布式RPC通信框架
【#2】介绍第三方库
🔥 JSONCPP 是一个开源的 C++ 库,用于解析和生成 JSON(JavaScript Object Notation)数据。它提供了简单易用的接口,支持 JSON 的序列化和反序列化操作,适用于处理配置文件、网络通信数据等场景。
IsLand1314
2025/03/26
2700
【#2】介绍第三方库
【从零到一,C++项目实战】CineShare++(基于C++的视频点播系统)
项目功能:搭建一个共享点播系统,服务器能够支持用户通过前端浏览器进行访问,提供清晰的展示、观看和操作界面。该系统不仅可以实现视频的上传功能,还能满足用户观看视频的需求。同时,系统还具备基本的管理功能,包括视频的增、删、改、查等操作,以便管理员对视频内容进行有效管理和维护。通过此系统,用户可以便捷地上传和浏览视频,管理员则能确保内容的有序管理与更新。
南桥
2025/01/27
2010
【从零到一,C++项目实战】CineShare++(基于C++的视频点播系统)
【在线五子棋对战】六、项目结构设计 && 工具模块实现
​ 为什么说分为这三大块呢,下面画个图来大概描述一下整个客户端和服务器的通信过程:
利刃大大
2025/06/15
1510
【在线五子棋对战】六、项目结构设计 && 工具模块实现
【Linux】应用层自定义协议与序列化
  定义结构体来表示我们需要交互的信息; 发送数据时将这个结构体按照一个规则转换成字符串, 接收到数据的时候再按照相同的规则把字符串转化回结构体; 这个过程叫做 “序列化” 和 “反序列化”。
大耳朵土土垚
2025/02/16
1640
【Linux】应用层自定义协议与序列化
【在Linux世界中追寻伟大的One Piece】Jsoncpp|序列化
Jsoncpp是一个用于处理JSON数据的C++库。它提供了将JSON数据序列化为字符串以及从字符串反序列化为C++数据结构的功能。Jsoncpp是开源的,广泛用于各种需要处理JSON数据的C++项目中。
枫叶丹
2024/10/16
4030
【Linux】深入理解网络编程:应用层自定义协议、序列化、TCP粘包问题与Socket封装
我们程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层。
用户11316056
2024/12/20
2630
【Linux】深入理解网络编程:应用层自定义协议、序列化、TCP粘包问题与Socket封装
【网络编程】六、序列化与反序列化 && 定制协议
​ 协议(protocol)是一种规范或约定,用于定义计算机系统或网络设备之间进行通信和交互的方式,确保数据的正确传输和处理。它定义了数据的格式、传输方式、错误处理、身份验证、安全性等方面的规范,以确保不同设备之间能够正确地交换信息。
利刃大大
2025/05/13
1270
【网络编程】六、序列化与反序列化 && 定制协议
【网络】协议的定制与Json序列化和反序列化
我们程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层
平凡的人1
2023/10/15
5020
【网络】协议的定制与Json序列化和反序列化
【计网】从零开始掌握序列化 --- JSON实现协议 + 设计 传输\会话\应用 三层结构
上一篇文章我们讲解了协议的本质是双方能够看到的结构化数据。并通过传输层的底层理解了为什么read系列函数时全双工支持同时读写的:TCP传输层有两个缓冲区,分别接收和发送。最重要的是我们将TCP通信的代码进行的重构:
叫我龙翔
2024/09/24
3930
【计网】从零开始掌握序列化 --- JSON实现协议 + 设计 传输\会话\应用 三层结构
Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全
Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就不多说了,笔者最近在弄接口,需要操作Json。
痴者工良
2021/04/26
6.3K0
网络基础『 序列化与反序列化』
本文将介绍如何使用C++实现简单的服务器和客户端通信,并重点讲解序列化与反序列化的概念和实现。这篇文章将深入探究数据在网络传输中的转换过程,以及如何在C++中应用这些技术
北 海
2024/05/25
2801
网络基础『 序列化与反序列化』
12.源码分析—如何为SOFARPC写一个序列化?
在SOFARPC中实际上支持的序列化比较少,只有Hessian、JSON、Protobuf这三种,但是有时候自己就是比较喜欢折腾,不喜欢用内置的,想要自己定义,那么只要搞定这篇文章你应该能为SOFARPC手动写一个序列化的实现了。下面的源码分析我们以client方的代码进行分析。
luozhiyun
2019/08/28
7690
12.源码分析—如何为SOFARPC写一个序列化?
【Linux篇章】Socket套接字,竟让TCP网络通信如此丝滑,一同共赴TCP 网络通信的技术新征程!
本篇文章继上篇UDP网络通信,将在此篇介绍TCP基础编程函数接口然后将形象的画图分析TCP是如何进行网络通信的,然后基于TCP实现简单的server-client的echo功能,英汉译,执行命令回显功能等;最后拓展介绍应用层自定义协议与序列化:基于json库实现序列化与反序列化的TCP网络计算器;并通过介绍进程组,会话,守护进程的概念将它的服务端优化成守护进程形式;通过实现它,更能感受到网络通信的分层结构,以及强大的解耦性!!!
羑悻的小杀马特.
2025/07/20
1320
【Linux篇章】Socket套接字,竟让TCP网络通信如此丝滑,一同共赴TCP 网络通信的技术新征程!
【网络】Socket编程TCP/UDP&&序列化和反序列化理解应用层(C++实现)&&Json::Value
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。
用户10925563
2024/11/21
3940
【网络】Socket编程TCP/UDP&&序列化和反序列化理解应用层(C++实现)&&Json::Value
推荐阅读
Linux网络-------2.应⽤层⾃定义协议与序列化
1600
【Json-RPC框架】:Json::CharReader,parse函数反序列化的返回值
1800
【在线五子棋对战】三、Json && JsonCpp的使用
1000
C++在线五子棋对战(网页版)项目:实用工具类模块代码实现
4410
【Linux】:应用层自定义协议 & 序列化 & 网络版计算器
2390
基于C++、JsonCpp、Muduo库实现的分布式RPC通信框架
3660
【#2】介绍第三方库
2700
【从零到一,C++项目实战】CineShare++(基于C++的视频点播系统)
2010
【在线五子棋对战】六、项目结构设计 && 工具模块实现
1510
【Linux】应用层自定义协议与序列化
1640
【在Linux世界中追寻伟大的One Piece】Jsoncpp|序列化
4030
【Linux】深入理解网络编程:应用层自定义协议、序列化、TCP粘包问题与Socket封装
2630
【网络编程】六、序列化与反序列化 && 定制协议
1270
【网络】协议的定制与Json序列化和反序列化
5020
【计网】从零开始掌握序列化 --- JSON实现协议 + 设计 传输\会话\应用 三层结构
3930
Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全
6.3K0
网络基础『 序列化与反序列化』
2801
12.源码分析—如何为SOFARPC写一个序列化?
7690
【Linux篇章】Socket套接字,竟让TCP网络通信如此丝滑,一同共赴TCP 网络通信的技术新征程!
1320
【网络】Socket编程TCP/UDP&&序列化和反序列化理解应用层(C++实现)&&Json::Value
3940
相关推荐
Linux网络-------2.应⽤层⾃定义协议与序列化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档