Ява.ленг.IllegalStateException: ожидаемый массив BEGIN, но объект BEGIN в столбце 2 строки 1
Я использую Retro Fit
для подключения к API онлайн. Но я получаю эту ошибку при попытке обработать возвращаемые данные.
retrofit.RetrofitError: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2
возвращаемые данные находятся в этой формат и модель для данных также приведены ниже:
iGPlaceApi.getStreams(ITEMS_PER_PAGE, pageNumber * ITEMS_PER_PAGE, new Callback<List<mGooglePlacesApiResponse>>() {
@Override
public void success(List<mGooglePlacesApiResponse> mGp, Response response) {
int n = mGp.size();
Object asa = mGp.toArray();
}
@Override
public void failure(RetrofitError retrofitError) {
String error = retrofitError.toString();
}
});
public class mGooglePlacesApiResponse {
public String html_attributions;
//public List<String> html_attributions;
public String next_page_token;
public List<place> results;
}
public class place {
public Geometry geometry;
public String icon;
public String id;
public String name;
public OpeningHours opening_hours;
public List<Photo> photo
...
1 ответов
изменить List<mGooglePlacesApiResponse> mGp
до mGooglePlacesApiResponse mGp
. Ваш JSON содержит объект not list.
@edit
кстати, html_attributions-это массив
@edit2
Ну, я вижу, вы исправили свои html_attrubutions