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

原文鏈接:https://blog.csdn.net/xiaojieblog/article/details/52585509#commentBox
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;
	}

以上解析方法是錯誤的,修改如下代碼:

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;
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章