Java 객체 <-> JSON 변환 라이브러리
// Java 객체
User user = new User(1L, "홍길동");
// Jackson이 자동으로 JSON 변환
// {"id":1, "name":"홍길동"}
@PostMapping("/users")
public User create(@RequestBody User user) { // JSON → User 객체
return userService.save(user); // User 객체 → JSON
}
직접 JSON 데이터를 처리해야 할때는 Jackson 라이브러리의 ObjectMapper를 사용할 수 있음
//ObjectMapper 사용 예시
//Object To Json의 경우
@Test
@DisplayName("Object To JSON : get Method 필요")
void test1() throws JsonProcessingException {
Star star = new Star("홍길동", 95);
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(star);
System.out.println("json = " + json);
}
//JSON To Object의 경우
@Test
@DisplayName("JSON To Object : 기본 생성자 & (get OR set) Method 필요")
void test2() throws JsonProcessingException {
String json = "{\"name\":\"홍길동\",\"age\":95}"; // JSON 타입의 String
ObjectMapper objectMapper = new ObjectMapper();
Star star = objectMapper.readValue(json, Star.class);
}