改造中的动态响应处理2

时间:2016-03-03 12:43:20

标签: android json retrofit2

我想在改造中处理不同的JSON响应。他们在json上提供了一定的条件。

我的第一个json是

{
 "status":2,
 "profileData":{
         "profile_id":"100102",
         "profile_status":"1",
         "fname":"Vijay",
         "gender":"Male",
         "age":"27",
         "height":"19"
  },
 "msg":"LoginSuccess"
}

此响应是成功登录

我的第二个回应是

{
  "status":0,
  "profileData":null,
  "msg":"One or More parameters are missing"
}

我的第三个回应是

{
  "status":1,
  "profileData":null,
  "msg":"Invalid UserName or Password"
}

我如何在Retrofit 2.0中处理这种情况。在改造1.X中,这可以通过GSON Converter完成,但我们如何在Retrofit 2.0中完成。

1 个答案:

答案 0 :(得分:0)

你可以使用这个pojo。

//pojo for your Response
public class ResponsePojo {
    private int status;
    private String msg;
    private ProfileData profileData;

    //your getters an setters

}

//Pojo for Profile data
public class ProfileData {
    private String height;
    private String profile_id;
    private String age;
    private String profile_status;
    private String gender;
    private String fname;

    //your getters an setters
}

//your response method
public void onResponseMethod(ResponsePojo response) {
    if (response.getStatus() == 0) {
        //One or More parameters are missing
    } else if (response.getStatus() == 1) {
        //Invalid UserName or Password
    } else if (response.getStatus() == 2) {
        //read you profile, as its not null when success.
         ProfileData profile=response.getProfileData();
    }
}

您的响应并非完全动态,因为某些键只有空值,因为数据对该状态无效。

相关问题