改造的动态响应

时间:2018-05-25 17:47:02

标签: java android retrofit

我的回答Json取决于它是否成功。

Unsuccessful example:
{
    "success": false,
    "errors": {
        "email": "Could not find email address"
    }
}

成功的例子:

{
    "success": true,
    "user": {
        "id": 6,
        "fname": "XXXXXX",
        "lname": "XXXXXX",
        "email": "Username@mail.ca",
        "roles": [
            "Player"
            "Coach"
            "manager",
            "Admin"
        ]
        "date_registered": "2018-03-16T17: 49: 05.000Z"
    }
    "Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOiJiNjU1MDVkOGJiYzZhMTg1Y2E5MjU5NDlmNTU0OTc0MTgzM2Y2N2NiNjFjYThkMzNkMTUxY2U2MDhjMTBmNTllIiwiaWF0IjoxNTI3MjY3MzEwLCJleHAiOjE1Mjc4NzIxMTB9.p5pTlNjTsr-8N_8B3M5fW3T6PTTrcFo8D77N0WWgA3c"
}

现在,我希望在改装的同时为两者提供POJO。

谢谢

编辑: 我刚刚通过将JSON的形式更改为:

来解决问题
{
"success": true,
"data": {
    "user": {
        "id": 6,
        "fname": "XXXXXXX",
        "lname": "XXXXXXXX",
        "email": "Username@mail.ca",
        "roles": [
            "player",
            "coach",
            "manager",
            "admin"
        ],
        "activation_state": 0,
        "date_registered": "2018-03-16T17:49:05.000Z"
    },
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaWQiOiI0MTFlZmI5Y2ExYzY1ZWFlYzQ4Yzg1ZjJkYTQwOThmODBjOTk1NWNjNjcyOTNlODI5NmI4N2RjZWY5OTMzYzljIiwiaWF0IjoxNTI4NDI0MDA1LCJleHAiOjE1Mjg0MjQ2MDl9.lTsQ867Lk78RV2ruaQFyxUNfm58bHpfzEsZnvKJQMXQ"
},
"errors": {}

}

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您只需返回String Retrofit,然后手动解析它。

如果没有,那么你必须创建一个包含两个对象的所有变量的POJO对象。

然后在运行时检查“success”是否为true / false,然后尝试访问基础变量。

答案 1 :(得分:0)

复制你的json回复并过去null object patern 然后提交 您将获得与您的回复相关的多个pojo课程,