问题 java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to

碰到一个json 解析问题
【问题 java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to】java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to object





之前的解析代码是

public static List getObjectList(String jsonString,Class cls){ List list = new ArrayList(); try { Gson gson = new Gson(); list = gson.fromJson(jsonString, new TypeToken>(){}.getType()); } catch (Exception e) { e.printStackTrace(); } return list; }


但是报错了
经查 发现 报错信息里面已经告知了 LinkedTreeMap 不能转换成对象 需要换一种方式更改 于是更改如下



public static List getObjectList(String jsonString,Class cls){ List list = new ArrayList(); try { Gson gson = new Gson(); JsonArray arry = new JsonParser().parse(jsonString).getAsJsonArray(); for (JsonElement jsonElement : arry) { list.add(gson.fromJson(jsonElement, cls)); } } catch (Exception e) { e.printStackTrace(); } return list; }



    推荐阅读