1、pom.xml依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.0</version> </dependency>
2、实体类
import lombok.Data; @Data public class Student { // 唯一标识 private int id; // 年龄 private int age; // 姓名 private String name; }
3、map转换为VO
import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.it.vo.Student; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * 转换实体 */ public class Convert { /** * 将map转换为VO * * @param list 转换前map集合 * @return 转化后VO集合 */ public List<Student> convertMapToVo(List<Map<String, Object>> list) { ObjectMapper objectMapper = new ObjectMapper(); // 如果有字段在VO不存在,不报错 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); List<Student> stuList = list.stream() .map(stuMap -> objectMapper.convertValue(stuMap, Student.class)) .collect(Collectors.toList()); return stuList; } public static void main(String [] args){ Convert test = new Convert(); Map<String, Object> map1 = new HashMap<>(); map1.put("id", 01); map1.put("age", 18); map1.put("name", "何刚"); Map<String, Object> map2 = new HashMap<>(); map2.put("id", 02); map2.put("age", 23); map2.put("name", "叶英"); List<Map<String, Object>> list = new ArrayList<>(); list.add(map1); list.add(map2); test.convertMapToVo(list); } }