Jackson JSON + Java Generics get LinkedHashMap
Jackson JSON + Java Generics get LinkedHashMap
我有一个问题,与stackoverflow上的一些问题类似,但没有一个真正解决我的问题。我使用Jackson的ObjectMapper,并希望将这个JSON字符串解析为一个User对象的列表:
[{ "user" : "Tom", "role" : "READER" },
{ "user" : "Agnes", "role" : "MEMBER" }]
我定义了一个内部类,如下所示:
public class UserRole {
private String user;
private String role;
public void setUser(String user) {
this.user = user;
}
public void setRole(String role) {
this.role = role;
}
public String getUser() {
return user;
}
public String getRole() {
return role;
}
}
为了将JSON字符串解析为UserRoles的列表,我使用了泛型:
protected
List
try {
list = mapper.readValue(json, new TypeReference>() {});
} catch (Exception e) {
throw new Exception("无法解析json");
}
return list;
}
但我得到的是一个LinkedHashMap的列表。
我的代码有什么问题?