android - 如何在改造 2.0 的 onResponse 上处理对象

标签 android retrofit2

这是我在retrofit 2.0中获得响应的逻辑

call.enqueue(new Callback<ArrayList<Wallet>>() {
  @Override
  public void onResponse(Response<ArrayList<Wallet>> response, Retrofit retrofit) {

      if (response.isSuccess()) {
          // use response data and do some fancy stuff :)
         loading.dismiss();
          ArrayList<Wallet> orders = response.body();
          Utility.displayToast("Wallet size is" + orders.size());

      } else {

      }
  }

});


Data format from rest API is like this:

[
{
  "description": "Cashback",
  "amount": "20.00",
  "type": "1",
  "date": "11/03/2016"
},
{
  "description": "CASH BACK",
  "amount": "12.00",
  "type": "1",
  "date": "05/03/2016"
}
]

现在他们更改了 API,数据如下:

{
  "error": false,
  "wallet": [
    {
      "description": "Cashback",
      "amount": "20.00",
      "type": "1",
      "date": "11/03/2016"
    },
    {
      "description": "CASH BACK",
      "amount": "12.00",
      "type": "1",
      "date": "05/03/2016"
    }
  ]
}    

如何处理ONResponse中的对象,解析数组中的钱包信息?

最佳答案

PoJo 必须改变。例如

public class NewWallet {
    public boolean error;
    public List<Wallet> wallet;
}

让你的界面返回NewWallet而不是 ArrayList<Wallet>

关于android - 如何在改造 2.0 的 onResponse 上处理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956104/

相关文章:

android - RxJava2 如何在请求参数更改时更新现有订阅

java - 改造中的多个相似请求顺序

android - Dropbox 同步 API。第一次没有在 Dropbox 上看到文件

java - 字符串以 '\n' 结尾最有效的操作方法是什么?

retrofit2 - 如何使用Retrofit2,Gson和Rx处理多种可能的响应类型

android - 协程 : Overriding OKHttp's dispatcher to use AsyncTasks's ThreadPoolExecutor so Espresso can assert successfully

kotlin - 即使 encoded=true,Retrofit2 也会对查询值进行编码

android - 创建统一的 Action1 以对字段执行检查

android - SwipeRefreshLayout 只能托管一个直接子节点

android - Katzer 电子邮件插件在 Cordova 中不起作用 - IOS