[TIL] ObjectMapper 활용 Json 파싱

정석·2024년 8월 26일

TIL

목록 보기
27/40
post-thumbnail

프로젝트 중 API 로 들어오는 Json 데이터와 아래와 같았다.

원하는 날짜에 대한 weather 값만 사용하고 싶은데 어떻게 다뤄야 할까?

이를 ObjectMapper 를 활용하여 풀어나갔다.

ObjectMapper

json 데이터를 객체로 변환
객체를 json 데이터로 변환

을 처리해주는 클래스이다.

나는 일단 모든 Json 데이터를 Dto 객체에 담은 뒤 Dto 리스트를 만들어 저장하려한다.

  1. ObjectMapper 를 생성하고 readValue 를 이용하여 Json 데이터를 객체화한다.
  2. readValue 에 Json 데이터와 리턴 받길 원하는 자료형을 기입해준다.

근데 TypeReference 라는 것을 감싸야 했다. 이유가 뭘까?

자바에서 제네릭 타입의 정보는 런타임 시 사라진다. 따라서 실행 이후엔 WeatherDto 로 반환할 거란 내용을 알 수 가 없다. 따라서 관련 내용을 명시해야 하기에 TypeReference 라는 익명 클래스를 하나 생성하여 정보를 저장해 둔다.

0개의 댓글