Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

MessagePack Java Jackson Dataformat does not use Str in Map

Shulou Source: shulou.com Published: 2022-06-03 04:57:52 10月15日 Update

When you want to Key without using String in Map, you need to use MessagePackKeySerializer to serialize the key.

This test method can be found in https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java.

/ * testMessagePackSerializationMapKey * / @ Test@JsonSerialize (keyUsing = MessagePackKeySerializer.class) public void testMessagePackSerializationMapKey () {logger.debug ("testMessagePackSerializationNotCloseInputStream"); byte [] bytes = new byte [0]; Integer uuid_a = 101; Integer uuid_b = 102; / / Instantiate ObjectMapper for MessagePack ObjectMapper objectMapper = new ObjectMapper (new MessagePackFactory ()); Map map = new HashMap (); MessageData messageData = new MessageData () / / Element An 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 object to byte array bytes = objectMapper.writeValueAsBytes (map); logger.debug ("Length of Bytes: [{}]", bytes.length); / / Deserialize the byte array to a MAP Map deserialized = objectMapper.readValue (bytes, new TypeReference () {}); 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

Tags: Sequence method test Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno macOS Redmi Shulou Technology Microsoft Shulou Information