MessagePackジャワジャクソンシリアライゼーションおよびデシリアライゼーションPOJOアレイタイプが使用され、MessagePackのmsgpack-のJava:互換性0.6を維持します

msgpack-のJava 0.6またはそれ以前のバージョンでは、POJOはMessagePack配列変数でシリアライズとデシリアライズします。

変数の順序は、Javaのクラス変数の内部順序に基づいており、この方法は、もともと天然配列の一つであったが、問題を引き起こす可能性があります。これは、完全な合意を保証するものではありませんJavaオブジェクトと秩序のJava実装の内部変数の順であり、これらの問題が発生します。

別の観点から、シリアライズとデシリアライズモード用ジャクソンデータバインドを使用してPOJOキーと値のペアをベースにしています。したがって、J ackson-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

おすすめ

転載: www.cnblogs.com/huyuchengus/p/11330357.html