我的界面看起來是這樣的:如何使用retrofit2.0獲取JSONArray數據?
public interface newArtsApi {
@GET("art/get_all_arts?page=1")
Call<List<ArtsPagination>> getMovies(@Query("index") int index);}
另一個ServiceGenerator類看起來是這樣的:
public class ServiceGenerator {
public static <S> S createService(Class<S> serviceClass) {
OkHttpClient httpClient=new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build();
GsonBuilder gson = new GsonBuilder();
gson.registerTypeAdapter(String.class, new StringDesirializer());
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://...../clients/....../api/v1/")
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient).build();
return retrofit.create(serviceClass);
}
}
我想這種類型的使用改造2.0數據,jsonarry_data
但我解析這種類型的數據時出錯。
得到錯誤這樣的..從上面的預期BEGIN_ARRAY代碼...響應錯誤但BEGIN_OBJECT位於第1行第2列路徑$ – alias26
基本上錯誤是說你的JSON正在返回一個對象,你的API中你已經規定,它應該得到ArtsPagination的列表,您發佈它返回一個單一對象JSONARRAY_DATA形象。 – Rafael
所以u能詳細解釋一下,我怎樣才能得到它...在那裏我做出改變..? – alias26