У меня есть некоторые проблемы с реализацией Json Deserialization в моем приложении Android (с библиотекой Gson)
Я сделал такой класс
public class MyJson<T>{
public List<T> posts;
}
И вызов десериализации:
public class JsonDownloader<T> extends AsyncTask<Void, Void, MyJson<T>> {
...
protected MyJson<T> doInBackground(Void... params) {
...
Reader reader = new InputStreamReader(content);
GsonBuilder gson = new GsonBuilder();
Type collectionType = new TypeToken<MyJson<T>>() {}.getType();
result = gson.create().fromJson(reader, collectionType);
...
}
}
Проблема заключается в том, что список result.posts после вызова содержит один массив объектов LinkedTreeMap (с правильными значениями, поэтому проблема - десериализация) вместо объектов MyJson. Когда я использую MyObject вместо T, все работает нормально, а MyObject верен.
Итак, есть ли способ реализовать десериализационный вызов без создания настраиваемого десериализатора?