Я хочу включить в свои объекты службы общий способ десериализации списков объектов из строки json.Deserialize json string в типично типизированный список
Ниже была моя первая попытка.
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;
}
}
Однако из-за типа стирания, Т в: new TypeToken<List<T>>() {}.getType();
не доступен во время выполнения. Поэтому вместо того, чтобы вернуть список моих объектов, Gson возвращает список объектов Gson Map.
ПРИМЕЧАНИЕ. У меня есть доступ во время выполнения к конкретному классу T, вызвав getClazz(). Хотя я не уверен, как я могу использовать это, чтобы дать указание Гсону отправить мне список определенного типа.
Кто-нибудь знает способ заставить это работать?
Любая помощь будет оценена по достоинству.
Может передать параметр? –