android-改装错误:预期为BEGIN_ARRAY,但为STRING

android-改装错误:预期为BEGIN_ARRAY,但为STRING,第1张

概述在api响应中,有时可以是数组,有时可以是字符串.这里的细节是数组{"ts":"2015-06-1611:28:33","success":true,"error":false,"details":[{"user_id":"563","firstname":"K.Mathan"},{

在API响应中,有时可以是数组,有时可以是字符串.

这里的细节是数组

 {  "ts": "2015-06-16 11:28:33","success": true,"error": false,"details": [{  "user_ID": "563",  "firstname": "K.Mathan"},{  "user_ID": "566",  "firstname": "Surya"},{  "user_ID": "562",  "firstname": "IDaya"} ]}

有时细节可以是字符串

{  "ts": "2015-06-16 11:28:33","success": true,"error": false,"details": "no data" }

这里的细节是字符串

如何从这种回应中获取价值

我目前的声明是

  @Serializedname(value="details")   public List<detailsList> details ;

任何人都可以帮助我找到解决方案吗?

解决方法:

您是否尝试过使用原始回复类型?

@GET("your_url")voID getDetails(Callback<Response> cb);

然后,您可以使用JsONObject和JsONArray解析响应,如下所示:

    Callback<Response> callback = new Callback<Response>() {       @OverrIDe       public voID success(Response detailsResponse, Response response2) {        String detailsstring = getStringFromretrofitResponse(detailsResponse);        try {            JsONObject object = new JsONObject(detailsstring);            //In here you can check if the "details" key returns a JsONArray or a String        } catch (JsONException e) {        }     }     @OverrIDe     public voID failure(RetrofitError error) {  });

其中getStringFromretrofitRespone可能是:

public static String getStringFromretrofitResponse(Response response) {    //Try to get response body    BufferedReader reader = null;    StringBuilder sb = new StringBuilder();    try {        reader = new BufferedReader(new inputStreamReader(response.getbody().in()));        String line;        try {            while ((line = reader.readline()) != null) {                sb.append(line);            }        } catch (IOException e) {            e.printstacktrace();        }    } catch (IOException e) {        e.printstacktrace();    }    return sb.toString();}
总结

以上是内存溢出为你收集整理的android-改装错误预期为BEGIN_ARRAY,但为STRING全部内容,希望文章能够帮你解决android-改装错误:预期为BEGIN_ARRAY,但为STRING所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1089549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存