我遇到了这个问题:
Json:
{"authenticationToken":{"token":"c9XXXX1-XXXX-4XX9-XXXX-41XXXXX3XXXX"}}
对象:
public class AuthenticationToken {
public AuthenticationToken() {
}
public AuthenticationToken(String token) {
authenticationToken = token;
}
@JsonProperty(value="token")
private String authenticationToken;
public String getAuthenticationToken() {
return authenticationToken;
}
public void setAuthenticationToken(String authenticationToken) {
this.authenticationToken = authenticationToken;
}
}
但我在日志中发现了一个错误:无法读取JSON:Unrecognized field "authenticationToken"(class de.regalfrei.android.AuthenticationToken),未标记为可忽略的字段(已知属性: "token"]),我不知道如何正确设置JSON属性以解决这个问题。有人能帮我吗?
正如你所说,我添加了一个包装类:
public class AuthenticationTokenWrapper {
AuthenticationToken authenticationToken;
public AuthenticationTokenWrapper(AuthenticationToken authenticationToken) {
this.authenticationToken = authenticationToken;
}
@JsonProperty(value="authenticationToken")
public AuthenticationToken getAuthenticationToken() {
return authenticationToken;
}
public void setAuthenticationToken(AuthenticationToken authenticationToken) {
this.authenticationToken = authenticationToken;
}
}
并调用了这个函数:
AuthenticationTokenWrapper tok =restTemplate.postForObject(url, requestEntity, AuthenticationTokenWrapper.class);
@JsonUnwrap
注解。 - fge{"authenticationToken": {"token": "whatever"}}
还是只是{"token": "whatever"}
? - fge