Java – Map to Dto

By | 2024년 2월 16일
Table of Contents

Java – Map to Dto

라이브러리를 이용해 간단히 맵타입의 데이타를 Dto 로 변한할 수 있다.

import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper mapper = new ObjectMapper();

Map to Dto

Map<String, Object> map = new HashMap<>();
map.put("productName", "productName");
map.put("price", "10000");

ProductDto dto1 = mapper.convertValue(map, ProductDto.class);
System.out.println(dto1.getProductName());

json to Dto

String jsonString = """
{
"productName": "productName",
"price": 10000
}
""";

ProductDto dto2 = mapper.readValue(jsonString, ProductDto.class);
System.out.println(dto2.getProductName());

List to List

List<Map> mapList = new ArrayList<>();
mapList.add(map);

// List<Map> to List<Dto>
List<ProductDto> dtoList = mapper.convertValue(mapList, mapper.getTypeFactory().constructCollectionType(List.class, ProductDto.class));
System.out.println(dtoList.get(0).getProductName());

convertValue, readValue

객체에서 변환할 때는 convertValue 를 사용하고, json 문자열에서 변환할 때는 readValue 를 사용한다.

답글 남기기