C++基于nlohmann json的通用序列化工具

使用预处理的方法生成自定义结构体的序列化和反序列化代码

支持基础类型、std容器、复杂嵌套结构体,派生类

tip:文章结尾有代码链接,需要的小伙伴自行提取,记得帮博主点点赞喔,谢谢大家。

  1. include文件夹为自定义的结构体的头文件目录。
  2. nlohmann文件夹为开源nlohmann josn文件。
  3. serialize文件夹为注册结构体文件。
  • struct_testserialize.h:自定义类型结构体头文件,注意事项成员变量需要以"_"开头,若是gcc编译器则不需要,这是因为使用msvc编译器时会出现Pasting formed '._age', an invalid preprocessing token问题,有兴趣的小伙伴可以查阅相关资料。

TestSerialize.h:声明注册是所需声明函数。

TestSerialize.cpp:自定义类型序列化注册

main.cpp:对注册后的自定义类进行使用的demo,包括序列化和反序列化

        目前支持变量个数为27(博主手cv麻了),若需扩展变量个数请自行在CComSerializeTool.h文件77-80行中进行扩展,有不明白的问题可以私下博主,谢谢大家。

        在此由衷感谢Niels Lohmann和我的前同事兼好友胡工,胡工在我的创作中提出了很多宝贵的建设性意见。

源码链接:https://gitee.com/lu-xiangyang857/CComSerializeTool

nlohmann json链接:json/include at develop · nlohmann/json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值