我從 API 獲取數據,然后將其轉換為字符串,以便我可以使用我的 POJO 類(用戶和令牌)將數據保存到 sharedPref 中。我能夠使用 User 類的方法,但是每當我嘗試訪問 Token 類的方法時,應用程序就會崩潰。這是我得到的回復:{"username": "string","email": "string","firstName": "string","lastName": "string","avatarURL": "string","token": { "token": "string", "expiresOn": "2019-06-29T21:07:07.891Z"}}這是我的用戶類:public class User {public User() {}@SerializedName("username")@Exposeprivate String username;@SerializedName("email")@Exposeprivate String email;@SerializedName("firstName")@Exposeprivate String firstName;@SerializedName("lastName")@Exposeprivate String lastName;@SerializedName("avatarURL")@Exposeprivate String avatarURL;@SerializedName("token")@Exposeprivate Token token;public String getUsername() { return username;}public void setUsername(String username) { this.username = username;}public String getEmail() { return email;}public void setEmail(String email) { this.email = email;}public String getFirstName() { return firstName;}public void setFirstName(String firstName) { this.firstName = firstName;}public String getLastName() { return lastName;}public void setLastName(String lastName) { this.lastName = lastName;}public String getAvatarURL() { return avatarURL;}public void setAvatarURL(String avatarURL) { this.avatarURL = avatarURL;}public Token getToken() { return token;}public void setToken(Token token) { this.token = token;}}
2 回答

qq_笑_17
TA貢獻1818條經驗 獲得超7個贊
User user = g.fromJson(data, User.class);
// Try this to get the token of a particular user.
// I think this may be the cause of the error.
Token token = user.getToken();
String tokenNo = token.getToken();

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
您正在嘗試使用 2 個不同的對象來解析響應,但響應已被解析。如果您調試 User 對象,它內部已經包含了 Token 對象。這一行就足夠了:
User user = g.fromJson(data, User.class);
發生崩潰是因為您試圖將 User JSON 對象(您的data
對象)解析為 Token 對象。所以只需刪除這一行:
Token token=g1.fromJson(data,Token.class);
添加回答
舉報
0/150
提交
取消