Я пытаюсь десериализовать json из worldbank.com в pojo без каких-либо успехов. Json выглядит так: [{"страница": 1, "pages": 7, "per_page": "50", "total": 304}, [{"id": "ABW", "iso2Code": " AW " "имя": "Аруба", "область": { "ID": "LCN", "значение":" Латинская Америка & Caribbean «},deserialize json with gson
и могут быть найдены с помощью: http://api.worldbank.org/countries/?format=json
и им нарваться проблемы с gson говорил мне: WorldBankDemo: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Ожидаемое BEGIN_OBJECT но BEGIN_ARRAY в строке 1 колонки 52 пути $ [1]
Любые подсказки, как как я могу это решить? Предпочтительно, не изменяя от gson так как это Lib используется сетевой Lib Я использую (дооснащения)
WorldBankDataService service = ServiceFactory.createRetrofitService(WorldBankDataService.class, WorldBankDataService.SERVICE_ENDPOINT);
service.getCountries()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<WorldBank[]>() {
@Override
public final void onCompleted() {
// do nothing
}
@Override
public final void onError(Throwable e) {
Log.e("WorldBankDemo", e.getMessage());
}
@Override
public final void onNext(WorldBank[] response) {
Log.d("TAG", "resp: "+response);
//mCardAdapter.addData(response);
}
});
public class ServiceFactory {
/**
* Creates a retrofit service from an arbitrary class (clazz)
* @param clazz Java interface of the retrofit service
* @param endPoint REST endpoint url
* @return retrofit service with defined endpoint
*/
public static <T> T createRetrofitService(final Class<T> clazz, final
String endPoint) {
final RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(endPoint)
.setLogLevel(RestAdapter.LogLevel.FULL)
.build();
T service = restAdapter.create(clazz);
return service;
}
}
public class WorldBank {
int page;
int pages;
String per_page;
int total;
//Country[] countrys;
}
поставить код здесь –
Показать ваш код .... – ElefantPhace
введите ваш ** код WorldBankDemo ** здесь? –