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); } }