TIL/Java
[Java] com.fasterxml.jackson.databind.ObjectMapper(JSON <-> Java Object)
야리니
2022. 11. 4. 09:24
728x90
반응형
1. Jackson에 대한 설명과 라이브러리 추가
1) Jackson이란?
- Java Object를 JSON으로 변환하거나 JSON을 Java Object로 변환하는데 사용할 수 있는 Java 라이브러리
2) Jackson의 특징
(1) Stream API : 스트림 형식으로 데이터를 분석하고 생성하기 때문에 성능이 좋음
(2) Tree Model : XML의 DOM처럼 Node 형태로 데이터를 다룰 수 있기 때문에 유연성이 좋음
(3) Data Binding : POJO 기반의 Java Object들을 JSON으로 변환시킬 수 있음
3) 라이브러리 추가하기
Jackson을 사용하려면 아래 링크를 참고하여 각자의 빌드 도구에 맞게 라이브러리를 추가해주자.
jackson-databind 라이브러리는 jackson-core 및 jackson-annotation 라이브러리의 의존성을 포함하고 있어 databind 라이브러리만 추가해주면 된다.
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
2. Java Object <-> JSON 예제
먼저 아래와 같은 User라는 Java Object가 존재한다고 가정한 뒤에 코드를 살펴보자
1) Java Object를 JSON 형태의 문자열로 변환하기 - writeValueAsString()
2) Java Object를 JSON으로 변환하여 XXX.json 파일에 저장하기 - writeValue()
3) JSON을 Java Object로 변환하기 - readValue()
4) JSON Array String을 Java List로 변환하기 - readValue()
5) JSON String을 Java Map으로 변환하기 - readValue()
728x90
반응형