问题 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 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;
}


你可能感兴趣的:(Android_日常)