您现在的位置是:首页 > 文章详情

MessagePack Java Jackson 序列化和反序列化 POJO 为 MessagePack 的数组类型用来与 msgpack-...

日期:2019-08-09点击:478

在 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

原文链接:https://yq.aliyun.com/articles/713528
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章