【发布时间】:2022-01-21 10:08:02
【问题描述】:
我在使用改造获取数据时遇到问题,我通常使用 jsonschema2pojo 来创建对象。首先我完全没有问题。但是在跟踪导致数据空的原因之后,response.body() 没有获取完整数据,但其中一些被调用。通过互联网搜索后,我得到的答案是对象类与响应不匹配,但我根本不知道什么是平均匹配。
这是我的对象类
public class KunjunganOutlet {
@SerializedName("status")
@Expose
private Boolean status;
@SerializedName("message")
@Expose
private String message;
@SerializedName("info")
@Expose
private Object info;
@SerializedName("data")
@Expose
private List<Data> data = null;
// and some getter setter
还有Data类
public class Data {
@SerializedName("id")
@Expose
private String id;
@SerializedName("nama")
@Expose
private String nama;
@SerializedName("jenis")
@Expose
private String jenis;
@SerializedName("alamat")
@Expose
private String alamat;
@SerializedName("tlp")
@Expose
private String tlp;
// and some getter setter
这是我来自 API 的数据
{
"status": true,
"message": "Successfully",
"info": null,
"data": [
{
"id": "47760",
"nama": "BKKBN Provinsi Aceh",
"jenis": "KLDI",
"alamat": "jl.t.nyak arief no 101 banda aceh\r\n",
"tlp": ""
},
{
"id": "47784",
"nama": "Dinkes Aceh Selatan",
"jenis": "Dinas Kesehatan",
"alamat": "Jl. Teungku Raja Angkasah Tapaktuan Telp. 0656-21829\r\n",
"tlp": ""
}
]
}
结果只有从数据中得到的id
onResponse: {"data":[{"id":"5287"},{"id":"5185"}],"message":"Successfully","status":true}
更新 几次尝试后才打错电话
【问题讨论】:
-
检查您的服务器发送给您的内容,您还可以记录改造的请求和响应,这将使您清楚地了解移动设备收到的响应。 stackoverflow.com/questions/21886313/…
-
{"status":true,"message":"Successfully","info":null,"data":[{"id":"5287","nama_produk":"ABN ANTISEPTIC"},{"id":"5185","nama_produk":"FRESCO HAND RUB 5000ML"}]}仅此 -
为什么
"alamat","jenis","tlp"不发送?我的代码有什么问题吗? -
如果服务器没有发送你需要的数据,那是api的问题吧?不确定您想如何在 android 上解决此问题,如果您希望 api 向您发送值
Hello world并且它只发送Hello,那么您在应用程序中所做的任何事情都不会改变这一点。在解析之前查看从服务器获得的响应。如果原始 json 中缺少字段,那么这不是 android 问题,或者您发出请求的方式不正确,但我们无法知道 -
我太笨了,请求错误.. 休息了一下。我终于从日志 okhttp 中得到了调用
/product而不是/outlet该死的花了一个小时才注意到..