我正在使用GSON对JSON文件中的HashMap进行序列化和反序列化。一切似乎都正常,但是当我尝试访问地图的某个元素时,出现此异常
java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to org.itemalert.model.Alert
这是我从文件中读取的JSON字符串对HashMap进行序列化和反序列化的方式
public static <K, V> String serializeMap(HashMap map) {
return getGson().toJson(map, new TypeToken<Map<K, V>>(){}.getType());
}
public static <K, V> HashMap<K, V> deserializeMap(String json) {
return new GsonBuilder().create().fromJson(json, new TypeToken<Map<K, V>>(){}.getType());
}
这是我要读取的json文件
{
"minecraft:diamond_pickaxe": {
"ENABLED": true,
"DURABILITY": 100,
"TYPE": "SOUND"
},
"minecraft:iron_sword": {
"ENABLED": true,
"DURABILITY": 1,
"TYPE": "HOTBAR"
},
"minecraft:diamond_sword": {
"ENABLED": true,
"DURABILITY": 150,
"TYPE": "CHAT"
}
}
我在这里想念什么?