개발 낙서장

Jackson 본문

Java

Jackson

권승준 2024. 1. 18. 19:53

Jackson

Jackson이란 객체와 JSON 간 변환을 도와주는 라이브러리이다.
Spring에서는 기본으로 해당 라이브러리를 제공해준다.

@Getter
public class Star {
    String name;
    int age;

    public Star(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Star() {}
}

이런 객체가 있다고 해보자. 이름이 "KSJ", 나이가 28인 Star를 JSON으로 변환하면

{
"name":"KSJ",
"age":28
}

이런 형태로 뽑아질 것이고 이 JSON을 Star로 변환하면 Star("KSJ", 28)이 될 것이다.

직관적으로는 당연히 이렇게 되는 걸 알고 있지만 이걸 구현하는 것은 꽤 어려울 것이다. 필드 이름 별로 뽑아내서 데이터를 파싱해서 저장하거나 변환하고 어쩌구저쩌구.....

이걸 Jackson이 해결해준다!

ObjectMapper

Jackson 라이브러리의 클래스이다. 해당 클래스를 사용해 JSON String을 객체로 변환하거나 객체를 JSON String으로 변환할 수 있다.

1. Class to Json

        Star star = new Star("Robbie", 95);

        ObjectMapper objectMapper = new ObjectMapper(); // Jackson 라이브러리의 ObjectMapper
        String json = objectMapper.writeValueAsString(star);

        System.out.println("json = " + json);

2. Json to Class

        String json = "{\"name\":\"Robbie\",\"age\":95}"; // JSON 타입의 String

        ObjectMapper objectMapper = new ObjectMapper(); // Jackson 라이브러리의 ObjectMapper

        Star star = objectMapper.readValue(json, Star.class);
        System.out.println("star.getName() = " + star.getName());

'Java' 카테고리의 다른 글

데이터베이스(DB, DataBase)  (0) 2024.02.13
[Spring] Filter 예외 처리  (0) 2024.02.05
[Spring] 쿠키와 세션  (0) 2024.01.25
Spring MVC  (0) 2024.01.18
Lombok - 롬복  (0) 2024.01.18
Comments