簡體   English   中英

Retrofit 2如何從嵌套的json對象獲取響應(android)

[英]Retrofit 2 how to get the response from nested json objects (android)

這是我的第一個json響應,我得到了令牌

{
"token": "I0ZmEifQ.CdbGWjkIYnuO29uJokCIGn8kXFbLbVp3gnlsEszagno"
}

pojo類

public class TokenReceiver {
    private String token; 

    public String getToken() {
        return token;
    }
}

以上工作正常,但如何得到以下的回應

{
  "user": {
    "id": 1,
    "first_name": "Super",
    "last_name": "Admin",
    "email": "abc@sad.sdf",
    "mobile_no": 2147483647,
    "created_at": "2016-01-21 00:00:00",
    "updated_at": "2016-01-21 00:00:00",
    "user_role_id": 1
  }
}

狀態代碼為200(OK)但數據未附加到pojo

public class User {

    @SerializedName("id")
    @Expose
    private int id;

    @SerializedName("first_name")
    @Expose
    private String first_name;

    @SerializedName("last_name")
    @Expose
    private String last_name;

    @SerializedName("email")
    @Expose
    private String email;

    @SerializedName("mobile_no")
    @Expose
    private String mobile_no;

    @SerializedName("created_at")
    @Expose
    private String created_at;

    @SerializedName("updated_at")
    @Expose
    private String updated_at;

    @SerializedName("user_role_id")
    @Expose
    private int user_role_id;
}

提前致謝

public class Response{
    @SerializedName("user")
    @Expose
    private User user;
  }

public class User{

@SerializedName("id")
@Expose
private int id;

@SerializedName("first_name")
@Expose
private String first_name;

@SerializedName("last_name")
@Expose
private String last_name;

@SerializedName("email")
@Expose
private String email;

@SerializedName("mobile_no")
@Expose
private String mobile_no;

@SerializedName("created_at")
@Expose
private String created_at;

@SerializedName("updated_at")
@Expose
private String updated_at;

@SerializedName("user_role_id")
@Expose
private int user_role_id;
}

內部響應可以通過以下方式訪問。

response.getUser().getId();
Public class classname{

public User user;
 class User{

@SerializedName("id")
@Expose
private int id;

@SerializedName("first_name")
@Expose
private String first_name;

@SerializedName("last_name")
@Expose
private String last_name;

@SerializedName("email")
@Expose
private String email;

@SerializedName("mobile_no")
@Expose
private String mobile_no;

@SerializedName("created_at")
@Expose
private String created_at;

@SerializedName("updated_at")
@Expose
private String updated_at;

@SerializedName("user_role_id")
@Expose
private int user_role_id;
}
}

上面的代碼將適合您

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM