加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

MessagePack Java Jackson 序列化和反序列化 POJO 为 MessagePac

发布时间:2020-12-15 05:24:26 所属栏目:Java 来源:网络整理
导读:在?msgpack-java 0.6 或者早期的版本中,POJO 在 MessagePack 中被序列化和反序列化为数组变量。 变量的顺序是基于 Java 类中变量的内部顺序了,这种本来是一种原生的序列化方法,但是会导致一些问题。导致这些问题的原因是在 Java 对象的内部变量的顺序与 J

在?msgpack-java 0.6 或者早期的版本中,POJO 在 MessagePack 中被序列化和反序列化为数组变量。

变量的顺序是基于 Java 类中变量的内部顺序了,这种本来是一种原生的序列化方法,但是会导致一些问题。导致这些问题的原因是在 Java 对象的内部变量的顺序与 Java 实现的顺序不能保证完全的一致。

从另外一个角度来看,使用?jackson-databind 进行的序列化和反序列化方式是基于 POJO 的 Key-Value 对的。因此在?jackson-dataformat-msgpack?与 POJO 处理的方式是相同的。因此,这就导致了与?msgpack-java:0.6 或者早期的版本在对 POJO 进行序列化和反序列化的时候不兼容。

如果你希望在新的版本中也使用与?msgpack-java:0.6 或者早期版本相同的处理 POJO 的方法,你可以使用?JsonArrayFormat。具体使用方法如下所示:

ObjectMapper objectMapper =? new? ObjectMapper( new? MessagePackFactory());
objectMapper.setAnnotationIntrospector( new? JsonArrayFormat());

https://www.cwiki.us/display/Serialization/MessagePack+Jackson+Dataformat

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读