우주먼지
Published 2023. 1. 9. 07:13
ObjectMapper Languages/Java

💡 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
profile

우주먼지

@o귤o

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그