java - 改造 : How to decide the class members?

标签 java android gson models retrofit2

我一直在尝试针对 Android 进行改造。响应为空。如果我的理解是正确的,这可能是因为 400 响应或我的模型类中的响应建模不正确。我得到的响应如下:

{"itemA":"data",
"itemB":"data",
"itemC":"data",
"ItemC":"",
"result_arr":[{"Val1":"A","Val2":"","id":"id","pr":"$0.00","sid":"a","cid":"a","price":"$0.00","cool_down":"0%","url":"","name":"Name"},
{"Val1":"A","Val2":"","id":"id","pr":"$0.00","sid":"a","cid":"a","price":"$0.00","cool_down":"0%","url":"","name":"Name"}]
,"statusCode":"200"}

我定义的模型如下:

API 结果

public class APIResultModel {
@SerializedName("itemA")
public String itemA;
@SerializedName("itemB")
public String itemB;
@SerializedName("itemC")
public String itemC;
@SerializedName("itemD")
public string itemD;
@SerializedName("results_arr")
public List<ProductModel> results_arr;
@SerializedName("status_code")
public String statusCode;
}

结果数组模型:

public class ResultArrayModel {
public String val1;
public String val2;
public String id;
public String pr;
public String sid;
public String cid;
public String price;
public String cool_down;
public String url;
public String name;
}

此响应的模型应该是什么样的?模型是如何从响应值导出的?

最佳答案

查看您的代码,您似乎正在使用 Gson

为了 Gson 创建你的 pojo,你的模型的 serializedNames 必须匹配你的 json 响应正在获取。

你必须改变:

@SerializedName("status_code")

到:

@SerializedName("statusCode")

确保您的所有属性都遵循此规则,您就可以开始了。

关于java - 改造 : How to decide the class members?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916013/

相关文章:

java - 为 Google GSON 添加自定义 TypeAdapterFactory 以检测注释的使用以动态返回自定义 TypeAdapter

java - 为什么这个简单的java代码不能编译?

java - java中第二个jsp页面结果集为空时如何直接重定向到上一个jsp页面

java - 由于使用了 Observable List,Gson 无法反序列化

android - 为什么我无法通过 Firebase 从我的设备获取数据?

android - 检查是否有使用操作字符串注册的 BroadCastReceiver

java - 我如何转换这个字符串,它是java集合中的json响应?

java - 如何在main方法中使用断言

java - 如何在连接四中添加定时器? java

android - 从 SharedPreferences 读取与保留对象实例