Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] Jackson 라이브러리를 활용한 Java에서의 JSON 처리 방법 본문
Java에서 JSON 데이터를 다루는 작업은 매우 일반적입니다. 이를 위해 Jackson 라이브러리는 강력한 도구로 자리매김하고 있습니다. 이번에는 Jackson 라이브러리를 사용하여 Java에서 JSON 데이터를 읽고 쓰는 방법에 대해 알아보겠습니다.
1. Jackson 라이브러리 추가
먼저 프로젝트의 의존성에 Jackson 라이브러리를 추가해야 합니다. Maven을 사용한다면 pom.xml 파일에 다음과 같이 의존성을 추가합니다.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.5</version>
</dependency>
2. 객체를 JSON으로 변환하기
Java 객체를 JSON 형식의 문자열로 변환하려면 ObjectMapper 클래스를 사용합니다. 예를 들어, 다음과 같이 객체를 JSON으로 변환할 수 있습니다.
// Jackson 라이브러리 임포트
import com.fasterxml.jackson.databind.ObjectMapper;
// 객체 생성
public class Main {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
Object obj = new Object(); // 변환할 객체
// 객체를 JSON 문자열로 변환
String json = mapper.writeValueAsString(obj);
System.out.println(json); // 출력 결과: {"key":"value"}
}
}
3. JSON을 객체로 변환하기
JSON 형식의 문자열을 Java 객체로 변환하려면 readValue 메서드를 사용합니다. 다음은 JSON 문자열을 객체로 변환하는 예제입니다.
// Jackson 라이브러리 임포트
import com.fasterxml.jackson.databind.ObjectMapper;
// 객체 생성
public class Main {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
String json = "{\"key\":\"value\"}"; // JSON 문자열
// JSON 문자열을 객체로 변환
Object obj = mapper.readValue(json, Object.class);
System.out.println(obj); // 출력 결과: {key=value}
}
}
4. JSON 파일 읽고 쓰기
Jackson 라이브러리를 사용하여 JSON 파일을 읽고 쓸 수도 있습니다. 다음은 JSON 파일을 읽어 객체로 변환하는 예제입니다.
// Jackson 라이브러리 임포트
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
// 객체 생성
public class Main {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
File file = new File("data.json"); // JSON 파일 경로
// JSON 파일을 객체로 변환
Object obj = mapper.readValue(file, Object.class);
System.out.println(obj); // 출력 결과: {key=value}
}
}
5. JSON 객체 생성 및 수정
Jackson 라이브러리를 사용하여 JSON 객체를 생성하고 수정할 수도 있습니다. 다음은 JSON 객체를 생성하고 특정 필드의 값을 수정하는 예제입니다.
// Jackson 라이브러리 임포트
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
// 객체 생성
public class Main {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
// JSON 객체 생성
ObjectNode node = mapper.createObjectNode();
node.put("key", "value");
// JSON 객체 수정
node.put("key", "updated_value");
System.out.println(node); // 출력 결과: {"key":"updated_value"}
}
}
6. JSON Pretty 출력
Jackson 라이브러리를 사용하여 JSON을 예쁘게 출력할 수도 있습니다. 다음은 예쁘게 포맷된 JSON을 출력하는 예제입니다.
// Jackson 라이브러리 임포트
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.SerializationFeature;
// 객체 생성
public class Main {
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
// JSON 예쁘게 출력
Object obj = new Object(); // 출력할 객체
String prettyJson = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
System.out.println(prettyJson);
}
}
'프로그래밍' 카테고리의 다른 글
[Java/자바] Gson 라이브러리를 활용한 JSON 데이터 파싱 예제 (0) | 2024.03.15 |
---|---|
[Java/자바] Java에서 JSON 파싱하기: 가장 쉬운 방법 (0) | 2024.03.15 |
[Java/자바] Stream으로 데이터 정렬하여 LinkedHashMap에 저장하기 (0) | 2024.03.15 |
[Java/자바] Stream으로 중복 데이터 문제 해결하며 List를 Map으로 변환하는 방법 (0) | 2024.03.15 |
[Java/자바] Stream을 이용하여 List를 Map으로 변환하는 방법 (0) | 2024.03.15 |