如何在java中反序列化具有整数键的Map



我一直在使用flexjsonapi来序列化和反序列化具有整数键的映射。现在,在反序列化映射键时,将其转换为字符串。是否有某种方法可以将键保留为整数。

这是的代码块示例

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));
}

反序列化没有给出任何错误,但键被转换为String。

这可能与Genson类似:

Genson genson = new Genson();
Map<Integer, Object> result = genson.deserialize(json, new GenericType<Map<Integer, Object>>() {});

相关内容

  • 没有找到相关文章

最新更新