Дооснащение дает ошибку Ожидаемый BEGIN_OBJECT, но был BEGIN_ARRAY

android json retrofit

203 просмотра

2 ответа

Я только начал использовать библиотеку Retrofit сегодня. У меня проблемы с получением некоторых данных JSON.

Данные JSON, которые я пытаюсь получить, выглядят так:

[
   {"id":"1","genre_id":"27","name":"aaaaa"},
   {"id":"2","genre_id":"21","name":"bbbb"}
]

Пожалуйста помоги!

Автор: DeveScie Источник Размещён: 08.11.2019 11:00

Ответы (2)


2 плюса

Решение

Просто измените его в список

public class Example {
@SerializedName("id")
@Expose
private String id;
@SerializedName("genre_id")
@Expose
private String genreId;
@SerializedName("name")
@Expose
private String name;
   public String getId() {
        return id;
   }

   public void setId(String id) {
      this.id = id;
   }


   public String getGenreId() {
       return genreId;
   }


   public void setGenreId(String genreId) {
       this.genreId = genreId;
   }


   public String getName() {
      return name;
   }


    public void setName(String name) {
      this.name = name;
   }

}

В вашем классе обратного вызова используйте как List < Example>

Надеюсь, что это будет полезно и для других.

Автор: AMAN SINGH Размещён: 20.08.2016 08:48

1 плюс

Ваш объект должен быть в списке ваших моделей примерно так:

Model {
     String id;
     String genre_id;
     String name;
}

Затем вы должны разобрать объект List<Model>. Если вы используете этот шаблон, ваш метод ServiceHelperдолжен выглядеть примерно так:

Call<List<Model>> getListOf();
Автор: Amir Размещён: 20.08.2016 08:22
Вопросы из категории :
32x32