
Json과 DTO에서 직렬화와 역직렬화를 도와주는 라이브러리이다.
직렬화, 역직렬화를 위해 사용하는 객체이다.
객체를 json으로 변환
user 객체를 json으로 변환
var json = objectMapper.writeValueAsString(user);
json을 UserRequest 객체로 변환
var dto = objectMapper.readValue(json, UserRequest.class);
- getter가 있어야 작동한다.
- 제외시키고 싶은 getter가 있다면 @JsonIgnore을 사용한다.
- get을 제외한 메서드 이름을 Snake Case로 변환돼서 사용된다.
- Boolean 같은 경우에 is까지 제외한 메서드 이름을 Snake Case로 사용한다.
- 변수 선언시 @JsonProperty("변수명")을 추가하면 해당 변수명을 Json에 사용할 수 있다.
ObjectMapper은 Reflection을 기반으로 하기 때문에 생성자를 private라도 인스턴스 생성이 가능하다.