本测试方法,可以在 https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java 中找到。

我们需要定义测试需要的 MAP,定义 Map 的方法你可以在下面的测试程序中找到。

/**  * SerializationMap  */ @Test public void testMessagePackSerializationMap() {     byte[] bytes = new byte[0];     String uuid_a = UUID.randomUUID().toString();     String uuid_b = UUID.randomUUID().toString();     // Instantiate  Mapper for MessagePack      Mapper  Mapper = new  Mapper(new MessagePackFactory());     Map<String, MessageData> map = new HashMap<>();     MessageData messageData = new MessageData();     // Element A in MAP     messageData.setUuid(UUID.randomUUID().toString());     messageData.setName("CWIKI.US - A");     map.put(uuid_a, messageData);     // Element B in MAP     messageData = new MessageData();     messageData.setUuid(UUID.randomUUID().toString());     messageData.setName("CWIKI.US - B");     map.put(uuid_b, messageData);     try {         // Serialize a Java   to byte array         bytes =  Mapper.writeValueAsBytes(map);         logger.debug("Length of Bytes: [{}]", bytes.length);         // Deserialize the byte array to a MAP         Map<String, MessageData> deserialized =  Mapper.readValue(bytes, new TypeReference<Map<String, MessageData>>() {         });         logger.debug("Deserialized MAP Count: [{}]", deserialized.size());         logger.debug("MAP index 0: [{}]", deserialized.get(uuid_a).getName());         assertEquals("CWIKI.US - A", deserialized.get(uuid_a).getName());     } catch (JsonProcessingException ex) {         logger.error("Serialize Error", ex);     } catch (IOException e) {         e.printStackTrace();     } }

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

收藏 打印