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

来源:互联网 发布:人工智能 公司 top100 编辑:程序博客网 时间:2024/05/22 13:24

碰到一个json 解析问题 

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



之前的解析代码是 

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

 但是报错了 

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


public static <T> List<T> getObjectList(String jsonString,Class<T> cls){List<T> list = new ArrayList<T>();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;}


0 0