【发布时间】:2018-01-08 10:25:13
【问题描述】:
我正在使用 Java 从 REST 服务中检索一些 JSON。我喜欢的是将 JSON“节点”映射到 Java 对象。
JSON 是这样的:
{
"token":{
"tokenType":"Bearer",
"accessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1MTU0MDY0MjgsImlhdCI6MTUxNTQwNTUyOCwic3ViIjoiNWE1MzQwZDg4NmUxYTc2ZGU2MTY2NTQ2In0.7YjmghgAQLtyNaPuWDp9StQBJv79JQZD3G_XbKvYOaQ",
"refreshToken":"5a5340d886e1a76de6166546.35e821dd2042efad2add8da80d6c765bded3ca37078415a4ebe46f9ba8da312a6d16cc05e91431bc",
"expiresIn":"2018-01-08T10:13:48.261Z"
},
"user":{
"id":"5a5340d886e1a76de6166546",
"email":"testingsest@gmail.com",
"role":"user",
"createdAt":"2018-01-08T09:58:48.153Z"
}
}
Token.java 是这样的:
public class Token {
String tokenType;
String accessToken;
String refreshToken;
long expiresIn;
public String getTokenType() {
return tokenType;
}
public void setTokenType(String tokenType) {
this.tokenType = tokenType;
}
public String getAccessToken() {
return accessToken;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
public String getRefreshToken() {
return refreshToken;
}
public void setRefreshToken(String refreshToken) {
this.refreshToken = refreshToken;
}
public long getExpiresIn() {
return expiresIn;
}
public void setExpiresIn(long expiresIn) {
this.expiresIn = expiresIn;
}
}
如何使用 Jackson 库(使用 ObjectMapper)将“令牌”映射到 Object?
(我知道如何在 Token 类中手动解析 JSON 并手动填充 setters 方法)
【问题讨论】:
-
到目前为止你有什么尝试?
-
问题是我嵌套了JSON,只需要填充Token对象(没有用户数据)。