Gson은 Google에서 제공하는 Java 기반의 JSON 파싱 라이브러리로, Android 애플리케이션에서 JSON 데이터를 쉽게 처리할 수 있도록 도와줍니다. Gson을 사용하여 Android 애플리케이션을 개발하는 방법에 대해 알아보겠습니다.
Gson 라이브러리 추가하기
먼저, Android 프로젝트에 Gson을 추가해야 합니다. 다음과 같이 build.gradle
파일에 Gson 의존성을 추가합니다:
dependencies {
implementation 'com.google.code.gson:gson:2.8.6'
}
변경 사항을 적용하기 위해 Android Studio에서 ‘Sync Now’를 클릭하여 Gradle 동기화를 수행합니다.
Gson을 이용한 JSON 파싱하기
- Gson 인스턴스를 생성합니다.
Gson gson = new Gson();
- JSON 데이터를 Java 객체로 변환하기 위해
fromJson()
메서드를 사용합니다.String json = "{ \"name\":\"John\", \"age\":30, \"city\":\"New York\" }"; UserInfo userInfo = gson.fromJson(json, UserInfo.class);
위 예제에서
UserInfo
는 JSON 데이터를 매핑할 POJO(Plain Old Java Object) 클래스입니다. - Java 객체를 JSON 형식의 데이터로 변환하기 위해
toJson()
메서드를 사용합니다.UserInfo userInfo = new UserInfo("John", 30, "New York"); String json = gson.toJson(userInfo);
위 예제에서는
UserInfo
객체를 JSON 형식의 데이터로 변환하고 있습니다.
Gson을 이용한 커스텀 직렬화 및 역직렬화
Gson은 커스텀 직렬화 및 역직렬화를 지원하여 JSON 데이터를 자동으로 변환하는 과정을 유연하게 제어할 수 있습니다. 다음 예제는 @SerializedName
어노테이션을 사용하여 JSON 필드와 객체의 필드를 매핑하는 방법을 보여줍니다.
public class User {
@SerializedName("name")
private String userName;
@SerializedName("age")
private int userAge;
// getter, setter 메서드 생략
}
위의 예제에서는 User
클래스의 userName
필드가 JSON 데이터의 name
필드와 매핑되고, userAge
필드가 age
필드와 매핑되는 것을 볼 수 있습니다.
Gson의 추가 기능 활용하기
Gson은 JSON 데이터를 다루기 위한 여러 가지 추가 기능을 제공합니다. 예를 들어, TypeToken
을 사용하여 제네릭 타입을 처리할 수 있고, ExclusionStrategy
를 사용하여 특정 필드를 무시할 수 있습니다. 더 많은 기능에 대해서는 Gson 문서를 참조하시기 바랍니다.
결론
이제 Gson을 사용하여 Android 애플리케이션에서 JSON 데이터를 처리하는 방법에 대해 알아보았습니다. Gson은 JSON 파싱을 간단하고 효율적으로 처리할 수 있도록 도와주므로 Android 개발에 유용하게 사용될 수 있습니다. Gson의 다양한 기능과 사용 방법을 익히면 좀 더 복잡한 JSON 데이터를 처리하는 데 도움이 될 것입니다.