0
我想在我的Service对象中包含反序列化来自json字符串的对象列表的通用方法。将json字符串反序列化为一般类型列表
下面是我的第一次尝试。
public abstract class AbstractService<T>{
public abstract Class<T> getClazz();
public List<T> deserialize(final String json){
Gson gson = gsonFactory.create();
Type listType = new TypeToken<List<T>>() {}.getType();
List<T> entityList = gson.fromJson(json, listType);
return entityList;
}
}
但是由于类型擦除,在运行时,T:new TypeToken<List<T>>() {}.getType();
不可用。因此,Gson不是返回我的实体列表,而是返回一个Gson Map对象列表。
请注意,通过调用getClazz(),我可以在运行时访问具体的T类。虽然我不确定如何使用它来指示Gson发送给我一个特定类型的列表。
有没有人知道让这个工作的方式?
任何帮助,将不胜感激。
也许传递参数? –