Map<String, Object> response = XXX;
/*
response:
"itemCode": "12345678" (String)
"code": 1234 (Integer)
"dtm": YYYY.MM.DD ~ (Date)
*/
위와 같이 Map
에 매핑되어있는 key
, value
데이터가 있고 value
의 타입이 제 각각일 때,
값을 Map
에서 꺼내 하나하나 형변환 시, Cast Exception
이 발생할 확률이 높다.
이럴 때, ObjectMapper
를 사용하면 Cast Exception
을 효율적으로 피할 수 있다.
@Setter
public class Info {
private String itemCode;
private Integer code;
private Date dtm;
}
위와 같은 객체가 있을 때,
import com.fasterxml.jackson.databind.ObjectMapper;
...
final ObjectMapper mapper = new ObjectMapper();
// Map
Map<String, Object> response = XXX;
// Map to Object
return mapper.convertValue(response, Info.class); // try-catch
각 타입에 맞게 매핑됨!