fastjson版本:2.0.21
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.21</version>
</dependency>
一般的json框架在序列化对象时,会序列化对象的实例属性,而反序列化时,通常需要指定Class对象才能反序列化为原来的类型,但有时候我们无法手动指定Class对象,比如将一些自定义对象写入redis时,然后再从redis查的时候,就不能反序列化为某个具体写死的类型。
因此,我调研了一下fastjson框架,发现它可以在序列化时保留对象类型信息,然后在反序列化时根据json字符串中的类型信息自动生成对象,用法很简单,只需要WriteClassName和SupportAutoType结合使用即可。
使用方法和debug案例如下图所示。