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