[Spring Boot] Jackson 라이브러리

노성빈·2024년 5월 1일

Spring Boot

목록 보기
6/6
post-thumbnail

📌 Jackson?

Json과 DTO에서 직렬화와 역직렬화를 도와주는 라이브러리이다.


📌 ObjectMapper

직렬화, 역직렬화를 위해 사용하는 객체이다.

✏️ 직렬화

객체를 json으로 변환

❗️ 예시

user 객체를 json으로 변환

var json = objectMapper.writeValueAsString(user);

✏️ 역직렬화

json을 UserRequest 객체로 변환

var dto = objectMapper.readValue(json, UserRequest.class);

📌 특징

✏️ Getter에 매칭

  • getter가 있어야 작동한다.
  • 제외시키고 싶은 getter가 있다면 @JsonIgnore을 사용한다.

✏️ 이름 규칙

  • get을 제외한 메서드 이름을 Snake Case로 변환돼서 사용된다.
  • Boolean 같은 경우에 is까지 제외한 메서드 이름을 Snake Case로 사용한다.
  • 변수 선언시 @JsonProperty("변수명")을 추가하면 해당 변수명을 Json에 사용할 수 있다.

✏️ Reflection

ObjectMapper은 Reflection을 기반으로 하기 때문에 생성자를 private라도 인스턴스 생성이 가능하다.

0개의 댓글