加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在java中使用整数键反序列化Map

发布时间:2020-12-15 02:30:31 所属栏目:Java 来源:网络整理
导读:我一直在使用flexjson api来使用整数键序列化和反序列化地图. 现在,反序列化映射键转换为字符串.是否有某些方法可以将键保留为整数. 这是一个示例代码块 MapInteger,Object map = new HashMapInteger,Object();map.put(1,"a");map.put(2,"b");flexjson.JSONS
我一直在使用flexjson api来使用整数键序列化和反序列化地图.
现在,反序列化映射键转换为字符串.是否有某些方法可以将键保留为整数.

这是一个示例代码块

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读