nlohmann::json中有中文时调用dump转string抛出异常的问题
问题描述
Winodows下C++开发想使用一个json库,使用的nlohmann::json,但是遇到json中使用中文时,转成string,会抛出异常。
nlohmann::json contentJson;contentJson["chinese"] ="哈哈哈";std::string test = contentJson.dump();

解决方案
先将GBK编码的中文转成utf8编码,再赋值给json就可以了。
//转码 GBK编码转成UTF8编码
static std::string GBKTOUTF8(const std::string& strGBK)
{std::string strUtf8;int len = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0);wchar_t* wszUtf8 = new wchar_t[len];memset(wszUtf8, 0, len);MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, wszUtf8, len);len = WideCharToMultiByte(CP_UTF8, 0, wszUtf8, -1, NULL, 0, NULL, NULL);char* szUtf8 = new char[len + 1];memset(szUtf8, 0, len + 1);WideCharToMultiByte(CP_UTF8, 0, wszUtf8, -1, szUtf8, len, NULL, NULL);strUtf8 = szUtf8;delete[] szUtf8;delete[] wszUtf8;return strUtf8;
}//测试
nlohmann::json contentJson;
std::string temp = "哈哈哈";
contentJson["chinese"] = GBKTOUTF8(temp);
std::string test = contentJson.dump(); 需要注意的是,这里在windows Vusial Studio debug模式下,看到GBK转成utf8之后的结果,是乱码,但是上传到服务器,查看的中文时正常的。
相关文章:
nlohmann::json中有中文时调用dump转string抛出异常的问题
问题描述 Winodows下C开发想使用一个json库,使用的nlohmann::json,但是遇到json中使用中文时,转成string,会抛出异常。 nlohmann::json contentJson;contentJson["chinese"] "哈哈哈";std::string test con…...
Unity中InputField一些属性的理解
先看代码: using UnityEngine; using UnityEngine.UI;public class TestInput : MonoBehaviour {[SerializeField]InputField inputField;void Start(){Debug.Log(inputField.text);Debug.Log(inputField.text.Length);Debug.Log(inputField.preferredWidth);Debug…...
【webpack4系列】webpack构建速度和体积优化策略(五)
文章目录 速度分析:使用 speed-measure-webpack-plugin体积分析:使用webpack-bundle-analyzer使用高版本的 webpack 和 Node.js多进程/多实例构建资源并行解析可选方案使用 HappyPack 解析资源使用 thread-loader 解析资源 多进程并行压缩代码方法一&…...
从零开始搭建 PHP
🛠️ 从零开始搭建 PHP 环境:详细教程 PHP(Hypertext Preprocessor)是最流行的后端脚本语言之一,广泛用于构建动态网站和 Web 应用程序。在开始 PHP 开发之前,首先需要搭建 PHP 运行环境。无论你使用的是 …...
【数据结构】8——图3,十字链表,邻接多重表
数据结构8——图3,十字链表,邻接多重表 文章目录 数据结构8——图3,十字链表,邻接多重表前言一、十字链表结构例子 复杂例子 二、邻接多重表(Adjacency Multilist)例子 前言 除了之前的邻接矩阵和邻接表 …...
eth-trunk 笔记
LACP:Link Aggregation Control protocol 链路聚合控制协议 将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性 一、配…...
通信工程学习:什么是接入网(AN)中的TF传送功能
接入网(AN)中的TF传送功能 在通信工程中,TF(Transfer Function)传送功能是指为接入网(AN)不同位置之间提供通道和传输介质,以实现数据的有效传输。以下是关于TF传送功能的详细解释&a…...
【JavaEE】IO基础知识及代码演示
目录 一、File 1.1 观察get系列特点差异 1.2 创建文件 1.3.1 delete()删除文件 1.3.2 deleteOnExit()删除文件 1.4 mkdir 与 mkdirs的区别 1.5 文件重命名 二、文件内容的读写----数据流 1.1 InputStream 1.1.1 使用 read() 读取文件 1.2 OutputStream 1.3 代码演示…...
安卓13系统导航方式分析以及安卓13修改默认方式为手势导航 android13修改导航方式
总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.彩蛋1.前言 系统导航方式默认一般是按键的,如果要改成手势的话,我们来看看用户怎么修改的: 设置=>系统=>手势=>系统导航,在这里进行修改。我们来分析下这个流程,并且将其修改为…...
[技术杂谈]暗影精灵8plus电竞版台式机安装和使用注意
最近买回二手台式机准备做深度学习训练模型使用。由于个人不是十分有钱,因此下血本入手一台,不然深度学习玩不转。配置:i9-12900K / 64G d4 3733频率 / 1TSSD2TB机械 / RTX3090 24G显卡 旗舰版 机箱45L超大机箱。买回来后整体不错&#…...
【加密算法基础——AES解密实践】
AES 解密实践 AES 解密是对使用 AES 加密算法加密的数据进行恢复的过程。 常用的解密方式有三种: 在线解密工具:格式比较好控制,但是有些在线工具兼容性不好,有时候无法解出,不知道是自己的密文密钥没找对࿰…...
Spring01
spring框架 spring是轻量级的容器框架 spring framework 1、Spring核心学习内容 IOC、AOp, jdbcTemplate,声明式事务 2、IOC:控制反转,孚以管理部8号对象 3.AOP:切面编程4.JDBCTemplate:是spring提供一套访问数据库的技术,应用性强,相对好理解5.声明式…...
gogps 利用广播星历解算卫星位置matlab函数satellite_orbits详细注解版
主要注释了广播星历计算GPS BDS卫星位置的。 function [satp, satv] satellite_orbits(t, Eph, sat, sbas)% SYNTAX: % [satp, satv] satellite_orbits(t, Eph, sat, sbas); % % INPUT: % t clock-corrected GPS time % Eph ephemeris matrix % sat satellite…...
Oracle按照某一字段值排序并显示,相同的显示序号
Oracle按照某一字段值排序并显示,相同的显示序号 最近的工作遇到对于相同的字段,按照序号去显示值,并对相同的值进行排序 实验了半天,感觉满意的答案,分享给大家 第一种: ROW_NUMBER 语法: ROW_NUMBER() OVER (ORDER BY your_column) AS sequence_number 说明: 根据your_column…...
【Java基础】String详解
文章目录 String一、String 概述1、基本特性2、不可变性3、String、StringBuilder、StringBuffer 二、字符串 创建与内存分配1、字面量 / 双引号2、new关键字3、StringBuilder.toString()4、intern() 方法5、小结 三、字符串 拼接1、常量常量2、变量 拼接3、final变量 拼接4、拼…...
cmd命令
常用命令 查看电脑名称: hostname 查看网卡信息: ipconfig 快速打开网络设置界面: control.exe netconnections 或 rundll32.exe shell32.dll,Control_RunDLL ncpa.cpld 打开防火墙设置: wf.msc 指定网卡设置IP地址&#…...
《中文Python穿云箭量化平台二次开发技术11》股票基本信息获取分析及应用示例【前十大股东占股比例提取及分析】
《中文Python穿云箭量化平台二次开发技术11》股票基本信息获取分析及应用示例【前十大股东占股比例提取及分析】 《中文Python穿云箭量化平台》是纯Python开发的量化平台,因此其中很多Python模块,我们可以自己设计新的量化工具,例如自己新的行…...
OSINT技术情报精选·2024年9月第1周
OSINT技术情报精选2024年9月第1周 2024.8.15版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 1、中国信通院:《大模型落地路线图研究报告(2024年)》 近年来,大模型技术能力不断创出新高,产业应用持续走…...
51单片机应用开发---二进制、十六进制与单片机寄存器之间的关系(跑马灯、流水灯实例)
实现目标 1、掌握二进制与十六进制之间的转换 2、掌握单片机寄存器与二进制、十六进制之间的转换 3、掌握单片机驱动跑马灯、流水灯的原理 一、二进制与十六进制之间的转换 1、二进制 二进制(binary), 是在数学和数字电路中以2为基数的…...
信息安全工程师(6)网络信息安全现状与问题
一、网络信息安全现状 威胁日益多样化:网络攻击手段不断翻新,从传统的病毒、木马、蠕虫等恶意软件,到勒索软件、钓鱼攻击、DDoS攻击、供应链攻击等,威胁形式多种多样。这些攻击不仅针对个人用户,还广泛影响企业、政府等…...
终极指南:如何使用XGP-save-extractor解锁Xbox Game Pass存档迁移自由
终极指南:如何使用XGP-save-extractor解锁Xbox Game Pass存档迁移自由 【免费下载链接】XGP-save-extractor Python script to extract savefiles out of Xbox Game Pass for PC games 项目地址: https://gitcode.com/gh_mirrors/xg/XGP-save-extractor XGP-…...
TCC-G15散热控制实战指南:释放Dell游戏本性能潜力
TCC-G15散热控制实战指南:释放Dell游戏本性能潜力 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 一、问题发现:游戏本散热困境的技术根…...
利用SoftEther实现跨平台虚拟私有网络部署指南
1. SoftEther简介与核心优势 如果你正在寻找一款能同时在Windows、Linux、Mac、Android和iOS上运行的虚拟私有网络解决方案,SoftEther绝对值得深入了解。这个源自日本筑波大学的开源项目,经过多年发展已经成为支持协议最全面的跨平台工具之一。我第一次…...
如何在VMware上运行macOS虚拟机:终极Unlocker完整指南
如何在VMware上运行macOS虚拟机:终极Unlocker完整指南 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 你是不是一直想在Windows或Linux电脑上体验macOS系统,却被VMware的限制挡在…...
文件 IO
目录 一. 文件 1.1 文件的概念 1.2 文件目录 1.3 文件路径 1.3.1 绝对路径 1.3.2 相对路径 1.4 文件的类型 二. IO 2.1 文件系统操作-- File类 2.1.1 File类的构造方法 2.1.2 File类中的方法 2.2 文件内容操作 2.2.1 字节流 2.2.1.1 InputStream中的方法 2.2.1.2…...
wan2.1-vae开源模型价值:免授权商用+自主可控+私有化部署保障
wan2.1-vae开源模型价值:免授权商用自主可控私有化部署保障 1. 为什么选择wan2.1-vae开源模型 在当今AI图像生成领域,商业使用往往面临授权费用高、数据隐私风险等问题。wan2.1-vae作为基于Qwen-Image-2512模型的开源解决方案,提供了三大核…...
Nunchaku-flux-1-dev时序预测可视化:结合LSTM生成数据趋势图
Nunchaku-flux-1-dev时序预测可视化:结合LSTM生成数据趋势图 你有没有遇到过这种情况?辛辛苦苦用LSTM模型跑出了一份股票价格预测数据,或者是一份未来一周的天气变化趋势,结果拿给老板或者同事看的时候,他们对着密密麻…...
Asian Beauty Z-Image Turbo隐私安全实践:纯本地生成如何保护商业图片数据
Asian Beauty Z-Image Turbo隐私安全实践:纯本地生成如何保护商业图片数据 1. 商业图片数据的安全挑战 在数字内容创作领域,商业图片数据的安全问题日益突出。想象一下,一家电商公司需要为新品生成模特展示图,或者一家广告公司要…...
Sub-Agent 与 Agent Team 的本质区别
用了 Team 模式的 API,就是 Agent Team 了吗?从一个真实项目出发,拆解两种多 Agent 架构的核心差异。引言:名字叫 Team,就真是 Team 吗? 2026 年,AI 编程圈最热的词之一是"多 Agent 协作&q…...
【从0开始学设计模式-6| 原型模式】
一个月没更新了,在找实习。。 其实还是懒了,其实每天花个半小时左右就能写一篇博客的。。。概念 原型模式(Prototype Pattern) 设计出来的目标就是:通过本体复制出与本体一样的分身(分身具有本体一样特性)定义…...
