gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:31 25 4
gpt4 key购买 nike

我一直在使用 flexjson api 序列化和反序列化带有整数键的 map 。现在在反序列化映射键时会转换为字符串。有什么方法可以将键保留为整数。

这是一个示例代码块

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

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

最佳答案

这可以通过 Genson 实现像那样:

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

关于java - 如何在java中使用整数键反序列化Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com