【发布时间】:2022-01-02 22:49:04
【问题描述】:
我有一个 json 响应。我正在使用 Jackson 从 json 响应中生成 Java 对象。
ObjectMapper objectMapper = new ObjectMapper();
List<WorkPosition> workPositions = new ArrayList<>();
try {
workPositions = (List<WorkPosition>) objectMapper.readValue(response.body(), new TypeReference<List<WorkPosition>>() {});
} catch (Exception e) {
e.printStackTrace();
}
我想创建一个名为 Jackson 的类,并让这段代码成为静态方法。
public class Jackson {
static ObjectMapper objectMapper = new ObjectMapper();
public static List<WorkPosition> parseList(String body){
List<WorkPosition> list = new ArrayList<>();
try {
list = (ArrayList<WorkPosition>) objectMapper.readValue(body, new TypeReference<List<WorkPosition>>(){});
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return list;
}
}
以上代码仅适用于 WorkPosition 类。我想让它适用于所有班级。我尝试过 List>、T,还尝试将返回的列表作为参数。但我没有工作。这是怎么做到的?
【问题讨论】:
-
试试
public class Jackson<T>。你的方法是:public static List<T> parseList(String body)
标签: java class arraylist jackson jackson-databind