[java] Java 객체를 JSON으로 변환하는 방법은?
1. Jackson 라이브러리 사용하기
Jackson은 Java에서 JSON 데이터를 다루기 위한 강력한 라이브러리입니다. Jackson을 사용하여 Java 객체를 JSON으로 변환하려면 다음과 같이 진행합니다.
Gradle:
dependencies {
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.2'
}
Maven:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.2</version>
</dependency>
다음은 Jackson을 사용하여 Java 객체를 JSON으로 변환하는 코드 예시입니다.
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonExample {
public static void main(String[] args) {
// Java 객체 정의
Person person = new Person("John Doe", 30, "john@example.com");
// ObjectMapper를 사용하여 객체를 JSON으로 변환
ObjectMapper objectMapper = new ObjectMapper();
try {
String json = objectMapper.writeValueAsString(person);
System.out.println(json);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
class Person {
private String name;
private int age;
private String email;
// 생성자 및 getter/setter 생략
// Jackson은 기본 생성자를 사용하기 때문에 반드시 기본 생성자가 존재해야 합니다.
public Person() {}
public Person(String name, int age, String email) {
this.name = name;
this.age = age;
this.email = email;
}
}
위 코드에서 ObjectMapper
클래스는 객체를 JSON 문자열로 변환하는데 사용됩니다. writeValueAsString()
메서드는 Java 객체를 JSON 문자열로 변환하는 역할을 합니다. 출력 결과는 다음과 같을 것입니다.
{"name":"John Doe","age":30,"email":"john@example.com"}
2. Gson 라이브러리 사용하기
Gson은 Google에서 제공하는 Java용 JSON 라이브러리로, Jackson과 유사한 기능을 제공합니다. Gson을 사용하여 Java 객체를 JSON으로 변환하려면 다음과 같이 진행합니다.
Gradle:
dependencies {
implementation 'com.google.code.gson:gson:2.8.8'
}
Maven:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version>
</dependency>
다음은 Gson을 사용하여 Java 객체를 JSON으로 변환하는 코드 예시입니다.
import com.google.gson.Gson;
public class JsonExample {
public static void main(String[] args) {
// Java 객체 정의
Person person = new Person("John Doe", 30, "john@example.com");
// Gson을 사용하여 객체를 JSON으로 변환
Gson gson = new Gson();
String json = gson.toJson(person);
System.out.println(json);
}
}
class Person {
private String name;
private int age;
private String email;
// 생성자 및 getter/setter 생략
public Person(String name, int age, String email) {
this.name = name;
this.age = age;
this.email = email;
}
}
위 코드에서 Gson
클래스는 객체를 JSON 문자열로 변환하기 위한 메서드인 toJson()
을 제공합니다. 출력 결과는 다음과 같을 것입니다.
{"name":"John Doe","age":30,"email":"john@example.com"}
Java에서 객체를 JSON으로 변환하는 여러 가지 방법을 살펴보았습니다. 이 중에서도 Jackson과 Gson은 가장 널리 사용되는 라이브러리입니다. 기타 JSON 라이브러리를 사용할 수도 있으니, 프로젝트의 요구 사항과 개발 환경에 맞게 선택하시면 됩니다.
참고 자료