Retrofit. Это гугловский пример, который большинство из вас скорее всего видели уже - PagingWithNetworkSample.
Структура JSOn файла - string, object{int, array[], string...}. Конечный путь это array[] - собственно список reddit постов.
Для поста есть data class RedditPost с полями отмеченными @Serialized. А api запросы возвращают Call<ListingResponse>. И вот тут начинается непонятная часть.
Иерархия data классов следующая:
class ListingResponse(val data: ListingData)
class ListingData(
val children: List<RedditChildrenResponse>,
val after: String?,
val before: String?
)
data class RedditChildrenResponse(val data: RedditPost).
Вопрос: как запрос прокладывает путь к array[]? Ведь определен только один дата класс RedditPost с полями отмеченными @Serialized, который представляет элемент из array[], а все остальные дата классы просто оберточные.
А можешь покидать ссылок на интересующие исходники — JSON, POJO и инициализацию конвертера ретрофита?
так как никто не ответил мне сегодня на этот вопрос, отвечу уже сам на него. Оказывается необязательно отмечать поля дата классов как @Serialized чтобы получать доступ к полям в JSON файле, если имя поля в POJO совпадает с именем поля в JSON. Замечательно
Обсуждают сегодня