C++在没有反射和注解的情况下完成Json到对象的自动序列化和反序列化工作
研究的意义
曾写过一些java和C#的代码,对这种动态语言做的注解和反射等印象深刻,因为太好用了,后来转战C/C++开发,发现这些静态语言虽然有很多优势(优势不谈自己查),但也会因为编写代码时由于没有好的解决办法会有很多重复切繁琐的工作,比如Json数据转实体对象,按照C/C++开发的方式就是编译N个类然后为每个类提供一个toJson和fromJson的方法,有时候在网络通信的过程中会用到大量不同格式的Json数据,就要编写很多的实体类,重复的完成每个类的序列化方法,虽然不难,但繁琐麻烦。
解决办法
为了解决序列化繁琐的问题,我查阅了大量的资料,也自己实践了很多办法,但都没有很有效的办法,像C#或是Java那些定义一个与Json数据格式一致的实体类,添加一个注解等