Jackson: JSON 데이터 구조를 처리해주는 라이브러리
- Object를 JSON 타입의 String으로 변환해줄 수 있습니다.
- JSON 타입의 String을 Object로 변환해줄 수 있습니다.
- Spring은 3.0버전 이후로 Jacskon과 관련된 API를 제공함으로써, 우리가 직접 소스 코드를 작성하여 JSON 데이터를 처리하지 않아도 자동으로 처리해주고 있습니다.
- SpringBoot의 starter-web에서는 default로 Jackson 관련 라이브러리들을 제공하고 있습니다.
- 직접 JSON 데이터를 처리해야할 때는 Jackson 라이브러리의 ObjectMapper를 사용할 수 있습니다.
Object to JSON:
objectMapper.writeValueAsString()
@Test
@DisplayName("Object To JSON : get Method 필요")
void test1() throws JsonProcessingException {
Star star = new Star("Robbie", 95);
ObjectMapper objectMapper = new ObjectMapper(); // Jackson 라이브러리의 ObjectMapper
String json = objectMapper.writeValueAsString(star);
System.out.println("json = " + json);
}
- objectMapper의 writeValueAsString 메서드를 사용하여 변환할 수 있습니다.
- 파라미터에 JSON으로 변환시킬 Object의 객체를 주면됩니다.
- Object를 JSON 타입의 String으로 변환하기 위해서는 해당 Object에 get Method가 필요합니다.
JSON to Object:
objectMapper.readValue()
@Test
@DisplayName("JSON To Object : 기본 생성자 & (get OR set) Method 필요")
void test2() throws JsonProcessingException {
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());
}
- objectMapper의 readValue 메서드를 사용하여 변환할 수 있습니다.
- 첫 번째 파라미터는 JSON 타입의 String, 두 번째 파라미터에는 변환할 Object의 class 타입을 주면됩니다.
- JSON 타입의 String을 Object로 변환하기 위해서는 해당 Object에 기본 생성자와 get 혹은 set 메서드가 필요합니다.
'Spring > 팀스파르타' 카테고리의 다른 글
10. HTTP 데이터를 객체로 처리하는 방법 (0) | 2024.10.27 |
---|---|
9. Path Variable과 Request Param (0) | 2024.10.26 |
7. 데이터를 Client에 반환하는 방법 (0) | 2024.10.26 |
6. Controller - 정적, 동적 페이지 처리 (1) | 2024.10.26 |
5. Spring MVC란 무엇일까? (0) | 2024.10.25 |