Jackson JSON + Java Generics get LinkedHashMap

12 浏览
0 Comments

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 mapJsonToObjectList(String json) throws Exception {

List list;

try {

list = mapper.readValue(json, new TypeReference>() {});

} catch (Exception e) {

throw new Exception("无法解析json");

}

return list;

}

但我得到的是一个LinkedHashMap的列表。

我的代码有什么问题?

0