gpt4 book ai didi

android - 带有改造和嵌套 JSON 响应的 NPE

转载 作者:行者123 更新时间:2023-11-29 14:36:31 24 4
gpt4 key购买 nike

我正在使用改造 1.9,但在从嵌套的 JSON 响应中获取值时遇到了一些问题。这是回应

{
"access_token": "83ebeabdec09f6670863766f792ead24d61fe3f9",
"athlete": {
"id": 227615,
"resource_state": 3,
...
}
}

我有一个类来处理响应:

public class AuthResponse {

String accessToken;
StravaAthlete stravaAthlete;

public AuthResponse(String accessToken, StravaAthlete stravaAthlete) {
this.accessToken = accessToken;
this.stravaAthlete = stravaAthlete;
}

public String getAccessToken() {
return accessToken;
}

public StravaAthlete getStravaAthlete() {
return stravaAthlete;
}
}

和嵌套 JSON 对象的类:

public class StravaAthlete {

String id;

public StravaAthlete(String id) {
this.id = id;
}

public String getId() {
return id;
}
}

不幸的是,每当我调用authResponse.getStravaAthlete().getId()我明白了

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.drdp.rideart.api.model.StravaAthlete.getId()' on a null object reference

不确定我做错了什么。我已将改进日志记录设置为完整,并且可以验证响应中的信息是否符合我期望的格式

最佳答案

accessTokenStravaAthlete 不是您的 JSON 的键。这就是你变得空的原因。您可以将它们更改为 access_tokenathlete,或者使用 @SerializedName 注释。例如

public class AuthResponse {

@SerializedName("access_token")
String accessToken;
@SerializedName("athlete")
StravaAthlete stravaAthlete;

关于android - 带有改造和嵌套 JSON 响应的 NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35259313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com