Jackson 라이브러리 - ObjectMapper, Object를 json으로 파싱하기

2022. 6. 5. 23:19·Back-End/Spring

Object Mapper란?

  • JSON 형태의 Data를 Java객체로 역직렬화(Deserialize) 시켜 주거나, 반대로 Java객체를 JSON으로 직렬화(Serialize)할때 이용하는 Jackson 라이브러리의 클래스
  • 직렬화(Serialize) : Object → String(json)
  • 역직렬화(Deserialize) : String(json) → Object
  • ObjectMapper는 생성비용이 비싸서 bean/static으로 처리하는 것이 좋다.
  • 스프링 부트의 경우에는 기본적으로 Jackson라이브러리가 존재한다.

Jackson 라이브러리 프로젝트에 추가하기

Maven인 경우 → pom.xml 의 태그에 추가

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.3</version>
</dependency>

Gradle인 경우 → bulid.gradle의 dependencies 블록안에 추가

// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3'

ObjectMapper 클래스 이용해보기

VO 생성

  • HelloData클래스를 이용해서 ObjectMapper를 사용해보자
import lombok.Getter;
import lombok.Setter;

@Getter @Setter @AllArgsConstructor
public class HelloData {
    private String username;
    private int age;

}

Java Object → JSON으로 파싱

  • writeValueAsString() 를 사용하면 java객체를 JSON으로 직렬화 할 수 있다.
ObjectMapper objectMapper = new ObjectMapper();
HelloData helloData = new HelloData("kim", 20);
String helloJSON = objectMapper.writeValueAsString(helloData);  //{"username":"kim","age":20}

JSON → Object로 파싱

  • readValue() 를 사용해서 JSON 형태를 Java객체로 역직렬화가 가능하다.
Stirng helloJSON = objectMapper.writeValueAsString(helloData);  //{"username":"kim","age":20}
HelloData hello = objectMapper.readValue(helloJSON, HelloData.class);  //text객체를 HelloData클래스로 변환

주의할점 : VO클래스에서 메서드나 생성자 이름에 get이라는 단어가 들어가면 오류가 날 수 있다

반응형
'Back-End/Spring' 카테고리의 다른 글
  • 빈 스코프(Bean Scope)와 프로토타입 스코프(Prototype Scope), 싱글톤에서의 프로토타입 스코프의 처리
  • [Spring] 빈 생명주기 콜백
  • [Spring] 의존관계 주입 방법
  • [Spring]컴포넌트 스캔, 컴포넌트 스캔 필터 by 인프런 김영한님
LightSource
LightSource
어제보단 발전한 오늘의 나를 위한 블로그
    반응형
  • LightSource
    LightSourceCoder
    LightSource
  • 전체
    오늘
    어제
    • 분류 전체보기 (152)
      • Git (4)
      • Language (6)
        • Java (6)
      • Back-End (63)
        • Spring Boot (4)
        • MyBatis (1)
        • Oracle (1)
        • PL SQL (3)
        • JPA (26)
        • Spring Data JPA (5)
        • Spring MVC (8)
        • Spring (12)
        • Spring Security (2)
        • Redis (1)
      • Front-End (38)
        • 아이오닉 (2)
        • JSP (7)
        • JavaScript (4)
        • React (16)
        • TypeScript (3)
        • Angular (6)
      • AWS (1)
      • CI & CD (1)
      • 개발지식 (13)
        • 네트워크 (9)
        • CS 지식 (4)
      • 데이터모델링 (2)
      • Tool (1)
      • 프로젝트 (5)
      • 독후감 (2)
      • 잡생각 (0)
      • 면접 준비 (1)
      • 알고리즘 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    배열요소삭제
    배열요소수정
    react
    배요소열추가
    리액트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
LightSource
Jackson 라이브러리 - ObjectMapper, Object를 json으로 파싱하기
상단으로

티스토리툴바