ObjectMapper란 JSON 형식을 사용할 때, 응답들을 직렬화하고 요청들을 역직렬화 할 때 사용하는 기술이다
데이터를 전송하거나 저장할 때, 바이트 문자열이어야하기 때문에 객체들을 문자열로 바꿔주는 것이다.
데이터가 모두 전송된 이후, 수신측에서 다시 문자열을 기존의 객체로 만들어주는 것
spring boot 의 경우 자체적으로 Jackson 라이브러리를 가지고 있고 그것을 통해서 Object <-> String 을 오고갈수 있게 하였다.
예시 )
public class User {
private String name;
private int age;
// 생성자
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public String getAge() {
return age;
}
}
위처럼 User 라는 클래스는 name과 age라는 필드를 가진다.
ObjectMapper objectMapper = new ObjectMapper();
User user = new User("kwon", 29);
objectMapper.writeValue(new File("user.json"), user);
// 파일 출력
{"name":"kwon", "age" : "29"}
// 문자열 출력
String userAsString = objectMapper.writeValueAsString(user);
{"name":"kwon", "age" : "29"}
// String 에서 Object로
String json = "{\"name\":\"kwon\", \"age\" : \"29\"}"
User user = objectMapper.readValue(json, User.class)
// JSON File to Object
User user = objectMapper.readValue(new File("user.json"), User.class);
// JSON URL to Object
User user = objectMapper.readValue(new URL("file:user.json"), User.class);
자바 객체를 String으로 변경하여 uri의 content에 넘기는 작업을 하다 ObjectMapper 가 보여 정리하였다.
출처