💡 ObjectMapper
Jackson 라이브러리의 클래스
JSON - > Java 객체로 Deserialization
Java 객체 -> JSON으로 Serialization
ObjectMapper는 생성 비용이 비싸기 때문에 Bean & Static으로 처리하는걸 권장
Serialization
// Object Mapper를 이용한 직렬화
try {
Question question = Question.builder()
.questionId(1L)
.title("제목")
.content("내용")
.build();
objectMapper.writeValue(new File("src/question.json"), question);
} catch (IOException e) {
e.printStackTrace();
}
Deserialization
// Object Mapper를 이용한 역직렬화
try {
LoginDto loginDto = objectMapper.readValue(request.getInputStream(), LoginDto.class);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
계층 형태의 복잡한 JSon Deserialization
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
try {
PersonDto personDto = objectMapper.readValue(complicatedJson, PersonDto.class);
System.out.println(personDto.getName());
System.out.println(personDto.getContact().getPhoneNumber());
System.out.println(personDto.getJob().getWorkplace().getName());
} catch (JsonProcessingException e) {
e.printStackTrace();
}
'Languages > Java' 카테고리의 다른 글
J2EE (0) | 2023.02.20 |
---|---|
Lambda (0) | 2023.02.19 |
Method 공부 (0) | 2022.09.28 |
Annotation & Lambda & Stream & I/O (0) | 2022.09.15 |
Exception & Collection Framework (2) | 2022.09.14 |