【发布时间】:2021-08-04 19:13:14
【问题描述】:
我需要使用 Jackson 的 ObjectMapper 将表示为 String 的 Json 数组转换为 List<Pojo>。
这是我所做的,但实际上并不奏效:
public static <T> List<T> toList(String jsonString, Class<T> clazzType) {
try {
List<T> list = OBJECT_MAPPER.readValue(jsonString, new TypeReference<List<T>>() {});
return list;
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}
它返回一个带有内部列表的对象,但并没有真正构建预期的 Pojos 列表。我看到了一些使用反射的尝试,但我试图让它保持纯粹的杰克逊。
有什么想法吗??
【问题讨论】:
-
你不应该需要反思。您可能需要确保 POJO 中的变量是基本类型 - 或者,如果是另一种类型,则另一种类型由基本类型组成,依此类推。就个人而言,我对 Gson 的运气更好: Gson gson = new Gson(); MyObject obj = gson.fromJson(reader, MyObject.class);
标签: java jackson jackson-databind