【发布时间】:2016-04-07 07:35:13
【问题描述】:
对于 json 映射,我使用以下方法:
public static <T> T mapJsonToObject(String json, T dtoClass) throws Exception {
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(json, new TypeReference<RestResponse<UserDto>>() {
});
}
而 UserDto 看起来像这样:
@JsonIgnoreProperties(ignoreUnknown = true)
public class UserDto {
@JsonProperty("items")
private List<User> userList;
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
}
我想改进这种映射方法,而不是附加到 UserDto 类,并将其替换为泛型。
有可能吗?以及如何?
谢谢。
【问题讨论】:
-
@Dici 我想将一个泛型类作为参数传递给该方法并调用 TypeReference,如下所示:
new TypeReference<RestResponse<generic_type_here>>() -
您的问题或多或少与this 相同,除了Jackson 而不是Gson。答案还是一样的,你只需要适配库 API。
标签: java json generics jackson mapping