Задать вопрос
@asdf999
Android Programmer

Почему происходит ошибка десериализации в Gson, если есть вложенный класс?

Есть такой класс:

public class CategoriesResponse extends BaseResponse {

 private Data data = new Data();

 public class Data extends ArrayList<Category> implements Serializable {
 }

 public class Category implements Serializable {
  private int id;
  private String name;
  private String icon;
 }
}

при попытке преобразовать строку с json-данными (gson.fromJson() ) в объект CategoriesResponse происходит ошибка:

"D/dalvikvm﹕ wrong object type: Ljava/util/ArrayList; Lcom/ips/stavki/net/api/categories/CategoriesResponse$Data;"

Если же вынести внутренний класс Data в отдельный файл то десериализация проходит без ошибок. Как быть если не хочется делать отдельный файл для класса, у меня их просто много.
  • Вопрос задан
  • 2396 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Нетология
    Android-разработчик с нуля
    14 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Решения вопроса 1
@bimeg
сделать их public static class....
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы