一个java对象通过jackson转List Class < T >
时间: 2024-03-26 22:40:20 浏览: 100
如果你将一个 Java 对象转换为 List 时,可以使用 Jackson 和泛型来实现。例如:
```
Person person1 = new Person("Alice", 20);
Person person2 = new Person("Bob", 25);
List<Person> persons = Arrays.asList(person1, person2);
// 将 List 转换为 JSON 字符串
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(persons);
// 将 JSON 字符串转换为 List<Person> 类型
List<Person> newPersons = objectMapper.readValue(json, new TypeReference<List<Person>>(){});
```
这里的 `persons` 是一个包含两个 `Person` 对象的 List。通过调用 `ObjectMapper` 的 `writeValueAsString` 方法,可以将其转换为 JSON 字符串。在转换时,Jackson 会自动识别 List 中的元素类型,并将其序列化为对应的 JSON 对象。如果 `Person` 类型中有其他嵌套的对象,Jackson 也会自动递归序列化。
在将 JSON 字符串转换为 List 时,需要使用 `TypeReference` 来指定泛型类型参数。这样在调用 `readValue` 方法时,就可以避免使用原始类型,而是使用参数化类型。这样可以让代码更加清晰,减少类型转换的错误。
阅读全文