springboot中使用objectMapper将json数组字符串转List<User>,使用new TypeReference
时间: 2024-10-22 19:11:04 浏览: 38
在Spring Boot中,如果你想要将JSON数组转换为`List<User>`,你可以利用Jackson库的`ObjectMapper`类以及`TypeReference`来动态解析。假设你有一个User类,对应JSON中的用户对象,可以按照以下步骤操作:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
// 假设User类是这样的
class User {
private String name;
// ...其他属性和构造方法
// getters and setters省略
}
public class UserController {
private final ObjectMapper objectMapper;
public UserController() {
this.objectMapper = new ObjectMapper();
}
// 方法用于处理JSON字符串到User列表的转换
public List<User> parseJsonToList(String jsonString) throws Exception {
// 使用TypeReference指定返回值类型为List<User>
TypeReference<List<User>> typeRef = new TypeReference<List<User>>() {};
return objectMapper.readValue(jsonString, typeRef);
}
}
```
在这个例子中,`parseJsonToList`方法接受一个JSON字符串,然后通过`readValue`方法尝试将其解析为`List<User>`。如果JSON内容有效,它会返回对应的User对象列表。
阅读全文