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
반응형