Я использую Дооснащение так:Получить вложенные данные в формате JSON с Модернизированный
final RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(URL)
.build();
final ApiEndpointInterface apiService = restAdapter.create(ApiEndpointInterface.class);
apiService.getData(userId, new Callback<UserData>() {
@Override
public void success(UserData userData, Response response) {
// get data
}
@Override
public void failure(RetrofitError retrofitError) {
retrofitError.printStackTrace();
}
});
JSON он запрашивает в таком виде:
{
"success":true,
"data":[
{
"id":"11",
"name":"John"
}
]
}
Как я могу получить доступ к name
пользователя в success
callback от модернизации?
Вот мои модели. UserData:
public class UserData {
@Expose
private Boolean success;
@Expose
private List<User> data = new ArrayList<User>();
/**
*
* @return
* The success
*/
public Boolean getSuccess() {
return success;
}
/**
*
* @param success
* The success
*/
public void setSuccess(Boolean success) {
this.success = success;
}
/**
*
* @return
* The data
*/
public List<User> getData() {
return data;
}
/**
*
* @param data
* The data
*/
public void setData(List<User> data) {
this.data = data;
}
}
Пользователь:
public class User {
@Expose
private String id;
@SerializedName("user_id")
@Expose
private String name;
@SerializedName("name")
/**
*
* @return
* The id
*/
public String getId() {
return id;
}
/**
*
* @param id
* The id
*/
public void setId(String id) {
this.id = id;
}
/**
*
* @return
* The message
*/
public String getName() {
return name;
}
/**
*
* @param message
* The message
*/
public void setName(String name) {
this.name = name;
}
}
Это должно быть похоже на этот список user = userData.getData(). И затем вы можете выполнить итерацию и fecth имя пользователя. –
'getData()' является 'List'. Разве это не должно быть? – user5314557
Проверьте редактирование, Извините, я не заметил Список –