How to deserialize map using integer keys in Java

I've been using the flexjson API to serialize and deserialize maps using integer keys

This is a sample code block

Map<Integer,Object> map = new HashMap<Integer,Object>();
map.put(1,"a");
map.put(2,"b");
flexjson.JSONSerializer serializer = new flexjson.JSONSerializer();
String serializedMapString = serializer.serialize(map);

flexjson.JSONDeserializer<Map<Integer,Object>> deserializer = new flexjson.JSONDeserializer<Map<Integer,Object>>();
Map<Integer,Object> deserializedMap = deserializer.deserialize(serializedMapString);

for(Integer key: deserializedMap.keySet()){
System.out.println(key+"-"+deserializedMap.get(key));
}

Deserialization does not produce any errors, but the key is converted to string

Solution

This can be like genson:

Genson genson = new Genson();
Map<Integer,Object> result = genson.deserialize(json,new GenericType<Map<Integer,Object>>() {});
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>