【发布时间】:2016-02-22 21:17:15
【问题描述】:
我在 Android Studio 中使用 Retrofit 1.9.0 从我的 REST API 获取响应。
我想做的方法是 GET,在这个 URL 上:http://dotfreeride.com/api/rest/adventures.php
我成功检索到另一个 API 的响应,但它只有 1 个对象,这有 3 个大对象。
我的 IApiMethods 界面是这样的:
@GET("/adventures.php")
JSONObject getAdventures(
Callback<AdventuresApi> cb
);
我的 AdventuresApi(模型类)是这样的:
public class AdventuresApi {
public String adventure_id;
public String trimaps_context;
public String name;
public String video_url;
public List<ArrayPoi> array_poi;
public class ArrayPoi {
String poi_id;
String name;
String lat;
String lng;
String video_url;
}
}
我在 Activity 中的 Retrofit 调用是这样的:
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(API_URL)
.build();
IApiMethods methods = restAdapter.create(IApiMethods.class);
Callback callback = new Callback() {
@Override
public void success(Object o, Response response) {
}
@Override
public void failure(RetrofitError error) {
Log.e("JSON", "NO DATA!");
}
};
methods.getAdventures(callback);
我真的不知道如何获取对象,我想获取对象的名称(例如:trimaps_context 是“动词”,我需要名称“Powder Hound”)
对于单个对象,我在onResponse(Object o, Response response) 中成功地做到了这一点:
(ProfileApi) profileData = (ProfileApi) o;
Log.e("JSON", profileData.name + " " + profileData.email);
【问题讨论】:
标签: android json retrofit okhttp