MessagePack Java Jackson 序列化和反序列化 POJO 為 MessagePack 的數組類型用來與 msgpack-java:0.6 保持兼容性

在?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 =?newObjectMapper(newMessagePackFactory());

objectMapper.setAnnotationIntrospector(newJsonArrayFormat());

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

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容