当前位置: 首页 > news >正文

C++(20):通过concept及nlohmann将数据转换为字符串

nlohmann可以自动兼容将C++的很多原生类型转换为json,甚至自定义类型也不需要太复杂的操作就可以转换为json,可以利用这一点将数据转换为string:


#include <nlohmann/json.hpp>
#include <string>
#include <vector>
#include <tuple>
#include <iostream>
#include <concepts>
using namespace std;
using json = nlohmann::json;template<typename T>
concept TO_JSONSTR = requires(T t)
{json(t);
};template<TO_JSONSTR T>
string toStr(T t)
{json j = t;return j.dump();
}template<class T>
string toStr(T t)
{cout<<"can't convert to string";return "";
}struct Person1{string name = "xiaoming";int sex = 1;
};NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Person1, name, sex)struct Person2{string name = "xiaoming";int sex = 1;
};int main()
{int a1 = 1;auto s1 = toStr(a1);cout<<s1<<endl;
http://www.lryc.cn/news/292709.html

相关文章:

  • Transformer 自然语言处理(四)
  • BRAIN :帕金森病中与痴呆相关的动态功能连接改变
  • harmony os系统
  • 2024美赛数学建模A题思路源码——七鳃鳗性别比例和生态系统关系
  • C语言的基础学习
  • PostGIS教程学习二十二:使用触发器追踪历史编辑操作
  • 【PTA浙大版《C语言程序设计(第4版)》编程题】练习7-4 找出不是两个数组共有的元素(附测试点)
  • C++面试:数据库不同存储引擎的区别以及如何选择
  • HTML -- 常用标签
  • 【Qt】QInputDialog setGeometry: Unable to set geometry 问题
  • Flink问题解决及性能调优-【Flink rocksDB读写state大对象导致背压问题调优】
  • 代码随想录算法训练营第二十四天|● 理论基础 ● 77. 组合
  • 买保险如何填健康告知
  • 云贝教育 | 【技术文章】Oracle 19c RAC修改网络
  • Android SELinux:保护您的移动设备安全的关键
  • 第十三章认识Ajax(四)
  • 使用 Node.js 和 Cheerio 爬取网站图片
  • 2024美赛数学建模E题思路源码
  • 解决Docker AList本地挂载失效的问题。
  • Emmet常用语法总结
  • Android 12系统源码_页面管理(四)获取系统当前最上层的Activity信息
  • RK3588开发板Ubuntu与开发板使用U盘互传
  • 【BUG】golang gorm导入数据库报错 “unexpected type clause.Expr“
  • TCP/IP网络模型
  • github连不上
  • Excel计算表达式的值
  • 26元/月起!腾讯云一键自动搭建4核16G幻兽帕鲁服务器
  • 【C++游戏开发-01】推箱子
  • 【lesson26】学习MySQL事务前的基础知识
  • 持续积累分享金融知识