gpt4 book ai didi

java - android:如何使用Retrofit从以下json接收响应?

转载 作者:行者123 更新时间:2023-12-01 16:41:32 29 4
gpt4 key购买 nike

我用过retrofit2。但我无法捕捉到响应,因为总是显示零数据。我怎样才能收到回复?我正在使用这段代码。 (添加调试代码也是为了更好地理解)。

ApiClient.getApiClient().getPurchOrderEdit(map).enqueue(new Callback<Map<String, Map<String, List<Map<String, Object>>>>>() {
@Override
public void onResponse(Call<Map<String, Map<String, List<Map<String, Object>>>>> call, Response<Map<String, Map<String, List<Map<String, Object>>>>> response) {
System.out.println("test");
}

@Override
public void onFailure(Call<Map<String, Map<String, List<Map<String, Object>>>>> call, Throwable t) {

}
});

enter image description here

{
"TBLT_PURCHASE_ORDER_EDIT": {
"data": [
{
"column_id": "17705",
"po_id": "15872311254332020-04-18 23:32:05",
"db_id": "62",
"dbhouse_name": "Coca Cola DB House",
"depot_id": "3",
"dpo_name": "Tongi Depot",
"dist_emp_id": "140",
"first_name": "Coca cola DB",
"order_date": "2020-04-18",
"total_order": "1056",
"total_quantity": "24"
}
]
}
}

最佳答案

进行 API 调用以返回 ApiResult

您的ApiResult类:

public class ApiResult {

private String status;
private JsonElement result;

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public JsonElement getResult() {
return result;
}

public void setResult(JsonElement result) {
this.result = result;
}

}

在 Api onResponse 中使用此代码,并将 YourDataObject 替换为您的数据类:

 Type typeToken = new TypeToken<List<YourDataObject>>() {
}.getType();

List<YourDataObject> list = new ArrayList<>();

list = new Gson().fromJson(response.body().getResult().getAsJsonObject()
.getAsJsonArray("data"), typeToken);

关于java - android:如何使用Retrofit从以下json接收响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61850640/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com