我找到了一些解决方案,但我真的不知道如何开始。
"Result": [
{
"id": 487749,
"deliveryid": 71472,
"salestransactiondetailsid": 680089,
这是我的代码。
接口
@GET("api/Ontrack/Delivery")
Call<List<Delivery>> getDeliveryDetails();
MainActivity
call.enqueue(new Callback<List<Delivery>>() {
@Override
public void onResponse(Call<List<Delivery>> call, Response<List<Delivery>> response) {
List<Delivery> get_delivery_details = response.body();
String[] deliveryId = new String[get_delivery_details.size()];
for (int i = 0; i<get_delivery_details.size(); i++) {
deliveryId [i] = get_delivery_details.get(i).getDeliveryid();
}
listView.setAdapter(
new ArrayAdapter<>(
getApplicationContext(),
android.R.layout.simple_list_item_1,
deliveryId
)
);
}
@Override
public void onFailure(Call<List<Delivery>> call, Throwable t) {
Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
答案 0 :(得分:1)
根据您的回复,您将需要2个不同的课程。
class CustomResponse{
private List<Delivery> Result;
// getters and setters and constructors
}
class Delivery {
// your current default class
}
您的界面变为
@GET("api/Ontrack/Delivery")
Call<CustomResponse> getDeliveryDetails();
当前的一个没有工作,因为它期望一个Delivery项列表作为响应,而是得到一个名为result的对象作为第一项,即, 你的回答看起来像这样:
{
result:....
}
预计
[.....]
如果你不想创建2个类,那么你需要修改响应,这样它只发回不带Result:
的列表。