GSON은 Java 객체를 JSON으로 변환하거나, JSON 데이터를 Java 객체로 변환하는 데 사용됩니다. 예를 들어, 우리가 웹 API에서 JSON 형식으로 받은 데이터를 자바 객체에 쉽게 매핑할 수 있습니다. 이 과정을 통해 데이터 전송을 훨씬 효율적으로 처리할 수 있습니다.
GSON 라이브러리 추가하기
먼저, GSON 라이브러리를 프로젝트에 추가해야 합니다. Maven 또는 Gradle을 사용할 수 있습니다. Maven을 사용하는 경우, 아래와 같이 pom.xml에 추가합니다.
com.google.code.gson
gson
2.8.6
Gradle을 사용하는 경우 build.gradle에 아래와 같이 추가합니다.
implementation 'com.google.code.gson:gson:2.8.6'
JSON과 Java 객체 변환
1. Java 객체를 JSON으로 변환하기
우선, GSON을 사용하여 Java 객체를 JSON으로 변환하는 방법을 알아보겠습니다. 아래는 간단한 예제입니다.
import com.google.gson.Gson;
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 30);
Gson gson = new Gson();
String json = gson.toJson(person);
System.out.println(json); // {"name":"John","age":30}
}
}
2. JSON을 Java 객체로 변환하기
이제 JSON 문자열을 Java 객체로 변환하는 방법입니다. 아래 예제를 참고하세요.
import com.google.gson.Gson;
class Person {
private String name;
private int age;
// getters and setters
}
public class Main {
public static void main(String[] args) {
String json = "{\"name\":\"John\",\"age\":30}";
Gson gson = new Gson();
Person person = gson.fromJson(json, Person.class);
System.out.println(person.getName()); // John
System.out.println(person.getAge()); // 30
}
}
GSON의 유용한 기능
GSON은 간단한 변환 외에도 여러 가지 유용한 기능을 제공합니다.
- Java 컬렉션 지원 : GSON은 List, Map 등의 Java 컬렉션도 직렬화 및 역직렬화할 수 있습니다.
- 커스터마이징 : GSON은 사용자 정의 직렬화 및 역직렬화 기능을 제공합니다.
- JSON 예외 처리 : JSON 파싱 중에 발생할 수 있는 예외를 처리할 수 있는 방법이 있습니다.
JSON 컬렉션 처리 예시
아래는 List를 JSON으로 변환하는 예제입니다.
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
List people = new ArrayList<>();
people.add(new Person("Alice", 28));
people.add(new Person("Bob", 34));
Gson gson = new Gson();
String json = gson.toJson(people);
System.out.println(json); // [{"name":"Alice","age":28},{"name":"Bob","age":34}]
Type listType = new TypeToken<arraylist>() {}.getType();
List personList = gson.fromJson(json, listType);
System.out.println(personList.get(0).getName()); // Alice
}
}
결론
GSON은 JSON과 Java 간의 변환을 편리하게 해주는 강력한 도구입니다. 특히 API와의 연동 시 JSON 데이터를 다룰 때 유용하게 사용할 수 있습니다. GSON을 활용하면 Java에서 JSON을 쉽게 처리하고, 복잡한 데이터 구조도 간편하게 구성할 수 있습니다.
참고 자료
GSON에 대한 자세한 내용은 [GSON GitHub 리포지토리](https://github.com/google/gson)를 참조하시기 바랍니다.
'IT > Java' 카테고리의 다른 글
JAVA Spring Boot에서 Quartz를 활용한 간편한 작업 스케줄링 (0) | 2025.03.03 |
---|---|
JAVA JSON 라이브러리 구글 GSON 알아보자(Google Gson) (0) | 2020.03.11 |
JAVA HashMap VS LinkedHashMap (차이점, 성능차이, 사용방법) (0) | 2019.07.09 |
JAVA SpringMVC 웹서버로 Google FCM HTTP POST 푸시 보내기 (9) | 2018.12.07 |
JAVA SOAP 요청/응답 (SOAP Request/Response) (3) | 2018.11.09 |