从json文件反序列化HashMap

时间:2019-11-03 15:21:13

标签: java hashmap gson

我正在使用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"
  }
}

我在这里想念什么?

0 个答案:

没有答案