当前位置: 首页 > 知识库问答 >
问题:

改装响应数组或对象

顾梓
2023-03-14

来自API的Im有两个不同的响应。然后我判断对象,但是我如何将消息的内容返回到字符串呢?下面的示例返回Exception:

Exception: java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast

Json响应:

{
    "success": true,
    "data": {
        "message": "User created",
    }
}

Json响应:

{
    "success": false,
    "data": [
        {
            "code": "existing_user_login",
            "message": "User Exist !"
        }
    ]
}

模型:

public class Response {
    public Boolean success;
    public Object data;

    public Boolean isSuccess() { return success; }

    public String getMessage() {
        if (data instanceof Data) {
            return ((Data) data).getMessage();
        } else if (data instanceof List) {
            try {
                return ((List<Data>) data).get(0).getMessage();
            } catch (Exception e) {
                return null;
            }

        } else return null;
    }


    public class Data {
        public String code;
        public String message;
        public String getMessage() { return message; }
        public String getCode() { return code; }
    }
}

共有1个答案

樊俊悟
2023-03-14

您可以得到这样的消息:

public String getMessage() {
    if (data instanceof Data) {
        return ((Data) data).getMessage();
    } else if (data instanceof List) {
        try {
             return (String) ((LinkedTreeMap) ((List) data).get(0)).get("message");
        } catch (Exception e) {
            return null;
        }

    } else return null;
}
 类似资料:
  • 这个错误又回来了! 我是改装的初学者,我看过这篇文章:改装:预期BEGIN_OBJECT但BEGIN_ARRAY 但是即使我试着让它适应我的模型,我仍然不能让它工作。所以我的错误是: 我得到的是: 解析类的属性: IoTGenericDevice子类的属性: 改装电话: 经理:

  • HI我只是新来的改造服务,并遵循本教程https://www.simplifiedcoding.net/retrofit-android-tutorial-to-get-json-from-server/它工作得很好,想创建我自己的,所以我使用了一个新的json网络http://api.androidhive.info/contacts/,其中包含 我实现了自己的接口ContactAPI。Java

  • 问题内容: 我正在编写一个使用Json API的库,并且在使用Gson作为解析库时遇到了设计问题。 如果一切顺利,则端点之一将返回对象: 但是,API中所有端点的错误模式都是json 而不是数组。 在POJO中对此建模时会出现问题。因为错误模式对于所有API端点都是通用的,所以我决定有一个仅映射errors属性的抽象类。 现在,我想继承自此,以获取“免费”错误映射和每个API端点响应的POJO。但

  • 我正在建立一个新的android项目并使用改版,我的改版功能在模拟器(NOX)和邮递员中正常工作,但是当我尝试在移动设备中构建我的应用程序时,改版总是陷入失败,有人能给我解决方案吗?我的API发布在公共主机上, 这就是我所说的改装 我的回应 这是我的邮差回复

  • 这是我在改装2.0中获得回应的逻辑 现在他们对API进行了更改,数据如下: 如何处理ONResponse中的对象并解析数组中的钱包信息?

  • 我正在尝试在注册用户后从改装API获得响应。 我从函数 注册URL:https://apitest10101.000webhostapp.com/alaa-apii/public/createuser(方法桩) API返回单个对象JSON,如 注册Activity.java 如果我删除中的if语句,我在日志中得到了这个错误 结果模型。Java语言 改装客户端。Java语言 API接口 建造Grad