【发布时间】:2014-08-21 16:57:49
【问题描述】:
我有下面的代码来反序列化 json 数组,它可以找到。 但是,如果我尝试迭代列表,则会收到 ClassCastException。 如果我用 MyObj 替换泛型类型 T 并且迭代有效。 但我想让反序列化代码通用。 你能帮我解决这个错误吗? 提前致谢。
java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to MyObj
json反序列化代码
public static <T> List<T> mapFromJsonArray(String respInArray) {
Type listType = new TypeToken<ArrayList<T>>(){}.getType();
List<T> ret = new Gson().fromJson(respInArray, listType);
return ret;
}
for 循环出错。
List<MyObj> myObjResponse = JsonUtil.<MyObj>mapFromJsonArray(jsonResponse);
for(MyObj obj : myObjResponse){ // Class cast exception
//do something
}
【问题讨论】:
标签: java generics serialization gson