小编Ash*_*gar的帖子

使用Retrofit检查哪种类型的数据作为响应

当我使用Retrofit时,我已经设计了所有POJO并且它运行完美.API的设计方式是,如果数据是当前日期或未来日期而不是过去日期,它将发送所需数据.在响应中,我将获得一个JSON响应,其中包含JSON对象和数组的组合作为JSON对象的值,POJO就是根据这一点.现在,如果没有当前和未来日期的记录,那么我将收到一个字符串而不是数组,这会导致API错误java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING.所以我想知道是否有任何方法可以确定 - 我收到的数组或字符串是什么?以及如何根据这个更新POJO以避免该错误.

服务器没有数据时的JSON响应

{
"Result_Code": "ND",
"Result_Status": "Success",
"Result_Message": "No record found in database.",
"Result_Output": "",
"updatedDate": "20-07-2017 10:44:37"
}
Run Code Online (Sandbox Code Playgroud)

当服务器有数据但有一个区别时,JOSN响应是相同的

{
 "Result_Code": "ND",
 "Result_Status": "Success",
 "Result_Message": "record found in database.",
 "Result_Output": [{multiple elements},
                   {multiple elements},
                   {multiple elements}....],
 "updatedDate": "20-07-2017 10:44:37"
 }
Run Code Online (Sandbox Code Playgroud)

android json retrofit2

3
推荐指数
1
解决办法
1935
查看次数

标签 统计

android ×1

json ×1

retrofit2 ×1