【问题标题】:How to handle success response with [ ]如何使用 [ ] 处理成功响应
【发布时间】:2017-07-28 14:38:51
【问题描述】:

如果没有返回值,我必须处理一个用 [] 响应的 API。如何在改造 onResponse 中得到这个响应?目前在改造的onFailure中返回错误

java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $

也许我可以在调用 onResponse 后检查 onResponse 中的 if (response.body() == null)。

【问题讨论】:

  • 请分享您对该端点的改造 Api-Definition。我猜你期望一个对象,但你收到一个数组
  • 如果还有返回值,请发布您的响应数据

标签: android retrofit


【解决方案1】:

你应该得到这样的回应

ArrayList<ResponseClass> responseList= response.body();
if(responseList.size() > 0) {

} else {

}

【讨论】:

    【解决方案2】:

    在服务中编写 JSON 响应(可能在 .net 或 .php 中)时,您需要根据“{}”之类的对象编写此响应。 如果您想在数组中获得响应,请写入 [] 并为对象写入 {}。

    【讨论】:

      猜你喜欢
      • 2018-09-20
      • 2021-11-03
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2017-09-05
      • 2018-06-20
      • 2012-02-09
      • 2015-10-10
      相关资源
      最近更新 更多