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發送給我一個特定類型的列表。
有沒有人知道讓這個工作的方式?
任何幫助,將不勝感激。
也許傳遞參數? –