MessagePackのJavaジャクソンDATAFORMAT - シリアライズの地図とデシリアライズ

この試験方法も  https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java  で見つけます。

私たちは、あなたが地図を定義する方法は、次の試験手順で見つけることができ、MAPのテストニーズを定義する必要があります。

/ ** 
  * SerializationMap 
  * / 
 @Test 
 公共ボイドtestMessagePackSerializationMap(){ 

     バイト[]バイト=新しいバイト[0]。
     文字列uuid_a = UUID.randomUUID()のtoString(); 
     文字列uuid_b = UUID.randomUUID()のtoString(); 

     MessagePackのための//インスタンス化ObjectMapper 
     ObjectMapper objectMapper =新しいObjectMapper(新MessagePackFactory()); 

     地図<文字列、のMessageData>マップ=新しいHashMapの<>(); 
     MessageDataのMessageData =新しいのMessageData(); 

     MAPにおける//要素A 
     messageData.setUuid(UUID.randomUUID()のtoString())。
     messageData.setName( "CWIKI.US - A")。
     map.put(uuid_a、のMessageData)。

     MAPで//要素B
     MessageData =新しいのMessageData(); 
     messageData.setUuid(UUID.randomUUID()のtoString())。
     messageData.setName( "CWIKI.US - B")。
     map.put(uuid_b、のMessageData)。


     試す{ 
         //バイト配列にJavaオブジェクトをシリアル
         バイト= objectMapper.writeValueAsBytes(マップ)
         logger.debug( "バイトの長さ:[{}]"、bytes.length)。

         // MAPにバイト配列をデシリアライズ
         地図<文字列のMessageData>デシリアライズ= objectMapper.readValue(バイト、新しいTypeReference <地図<文字列のMessageData >>(){ 
         }); 
         logger.debug( "非直列化MAP数:[{}]"、deserialized.size())。
         logger.debug( "MAPインデックス0:[{}]"、deserialized.get(uuid_a).getName())。

         assertEquals( "CWIKI.US - A"、

     }キャッチ(JsonProcessingExceptionのEX){ 
         logger.error( "エラーをシリアル"、EX)。
     }キャッチ(IOExceptionを電子){ 
         e.printStackTrace(); 
     } 


 }

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

 

おすすめ

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