我有一个登录api,响应格式因登录用户的类型而异。
Json结构,“type”= 4
{
"type": 4,
"user": {
"coord_id": 5,
"coord_login_id": 4,
"coord_name": "Randall Pfannerstill",
}
}
Json格式,“type”= 2
{
"type": 2,
"user": {
"stud_id": 1,
"stud_reference_id": "3",
}
}
我正在使用这个模型类来处理“type”2
public class LoginResponse {
@SerializedName("type")
public int type;
@SerializedName("user")
public User user;
public class User {
@SerializedName("stud_id")
public int stud_id;
@SerializedName("stud_reference_id")
public String stud_reference_id;
}
如何处理具有相同类的“type”= 4的情况(或者我应该如何编写不同的模型类)
答案 0 :(得分:2)
也许你可以试试这个
public class LoginResponse {
@SerializedName("type")
public int type;
@SerializedName("user")
public User user;
public class User {
@SerializedName("stud_id")
public int stud_id;
@SerializedName("stud_reference_id")
public String stud_reference_id;
@SerializedName("coord_id");
public int coord_id;
@SerializedName("coord_login_id");
public int coord_login_id;
@SerializedName("coord_name")
public String coord_name;
}
}
如果发现数据存储在变量中...否则该字段存储空数据....您需要始终检查数据是否为空 表示如果找到stud_id是存储...并且coord_id为null ...否则如果发现crood_id时间stud_id为null
答案 1 :(得分:1)
由于您的JSON具有不同的密钥名称,我建议您改为使用Map
:
public class YourPojo {
private int type;
private Map<String, String> user;
}
根据您的type
,您应该知道您从回复中获得的User