码迷,mamicode.com
首页 > 编程语言 > 详细

java序列化与反序列化

时间:2020-03-26 19:48:31      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:lis   数据   问题   形式   class   编码   apt   交互   内容   

先描述下这里的业务:
我们有一个父类A,多个继承A的AA类、AB类、AC类,多了一些不同的业务字段。
业务分为多个端,如:甲端、乙端,通过kafka来交互数据,数据格式为一个VO,包含多个业务属性以外,还有一个List<A>属性引用类,这里实质内容还是AA、AB、AC类。
甲端封装好对应的参数后,传递给乙端进行解析时。json无法直接转成对应的AA、AB、AC实现类。其中的业务字段会丢失。
这就是疑问的地方??? 这里我们比较了一下fastJson和gson,最后采取gson来解决此问题。


fastJson 是通过注解形式。如:
@JSONField(serializeUsing=ToSystemNameSerializer.class)
这里ToSystemNameSerializer.class是我们自定义的转换类,需要实现ObjectSerializer和ObjectDeserializer分别是fastjson的编码器和解码器接口


Gson 是同通过注册TypeAdapter。如:
Gson.addTypeAdapter(Type,ToSystemNameSerializer)
然后使用gson来解析json,如果识别到Type类了,则使用我们定义的ToSystemNameSerializer来解析
JsonSerializer和JsonDeserializer分别是gson的编码器和解码器接口

java序列化与反序列化

标签:lis   数据   问题   形式   class   编码   apt   交互   内容   

原文地址:https://www.cnblogs.com/kongkongFabian/p/12576489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!