Наша команда решила использовать Retrofit 2.0, и я делаю некоторые первоначальные исследования в этой библиотеке. Как указано в названии, я хочу проанализировать некоторые вложенные объекты JSON через Retrofit 2.0 в нашем приложении для Android.Как Retrofit 2.0 анализирует вложенный объект JSON?
Например, here вложенный объект JSON с форматом:
{
"title": "Recent Uploads tagged android",
"link": "https://www.flickr.com/photos/tags/android/",
"description": "",
"modified": "2015-10-05T05:30:01Z",
"generator": "https://www.flickr.com/",
"items": [
{
"title": ...
"link": ...
"media": {"m":"This is the value I want to get:)"}
"description": ...
"published": ...
"author": ...
"author_id": ...
"tags": ...
},
{...},
...
]
}
Я заинтересован в объекты JSON внутри items
массива. Я замечаю, что есть some posts о разборке вложенных объектов JSON с помощью Retrofit 1.X, но последние API Retrofit 2.0 сильно изменились, что сбивает с толку при адаптации их к новым API.
два возможных решения приходят мне на ум:
- Написать свой собственный JSON конвертер завод, который расширяет Converter.Factory.
- Возвращает необработанный ответ в строковом типе и разбор его самостоятельно. Но нелегко получить исходный ответ от Retrofit 2.0 в соответствии с моими первоначальными исследованиями. Retrofit 2.0, похоже, настаивает на преобразовании ответа на что-то, прежде чем передать его мне, а Retrofit не предоставит свой собственный
StringConverter
. (Я мог бы быть неправильно ~)
Update: Мы можем фактически получить сырье ответ, установив JSONElement
как POJO для интерфейса API HTTP и использовать GSONConverter обеспечивается Модернизированный в качестве преобразователя.
Было бы здорово, если бы кто-то мог поделиться некоторыми идеями по этому вопросу.
спасибо :)
Что Виль быть элементы массива? Можете ли вы опубликовать эту часть? –
@PankajKumar Обновлено :) – hackjutsu
Я добавил ответ, похожий на ваш JSON. Попробуй. –