我正在使用Retro Fit在线连接到API.但我在尝试解析返回的数据时遇到此错误.
retrofit.RetrofitError: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2
返回的数据为This格式,数据模型如下:
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 ...
解决方法
更改列表< mGooglePlacesApiResponse> mGp到mGooglePlacesApiResponse mGp.您的JSON包含对象而不是列表.
@编辑
顺便说一句,html_attributions是一个数组
@ EDIT2
好吧,我看到你纠正了你的html_attrubutions