[kotlin] 코틀린에서 Gson 라이브러리 연동하기

코틀린은 안드로이드 앱 개발에 널리 사용되는 프로그래밍 언어입니다. Gson은 JSON 데이터를 자바 객체로 변환하는 라이브러리로서, 코틀린과의 연동을 쉽게 할 수 있습니다. 이번 포스트에서는 코틀린에서 Gson 라이브러리를 연동하는 방법에 대해 알아보겠습니다.

Gson 라이브러리 추가하기

먼저, 프로젝트에 Gson 라이브러리를 추가해야 합니다. Gradle 빌드 도구를 사용하는 경우, build.gradle 파일에 다음 종속성을 추가합니다:

dependencies {
    implementation 'com.google.code.gson:gson:2.8.7'
}

본인의 프로젝트에 맞게 최신 버전의 Gson 라이브러리를 사용하시면 됩니다. 이제 프로젝트에 Gson을 사용할 수 있게 되었습니다.

Gson 사용하기

Gson을 사용하기 위해서는 먼저 JSON 데이터와 매핑될 데이터 클래스가 필요합니다. 예를 들어, 다음과 같은 JSON 데이터가 있을 때:

{
    "name" : "John",
    "age" : 30,
    "city" : "New York"
}

매핑될 데이터 클래스는 다음과 같이 작성할 수 있습니다:

data class Person(
    val name: String,
    val age: Int,
    val city: String
)

이제 Gson을 사용하여 JSON 데이터를 자바 객체로 변환할 수 있습니다. 다음 코드는 JSON 문자열을 Person 객체로 변환하는 예제입니다:

import com.google.gson.Gson

fun main() {
    val json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"
    val gson = Gson()
    val person = gson.fromJson(json, Person::class.java)
    println(person.name)
    println(person.age)
    println(person.city)
}

위의 예제에서는 Gson() 생성자를 사용하여 Gson 객체를 생성하고, fromJson() 메서드를 사용하여 JSON 문자열을 Person 객체로 변환합니다. 이후 Person 객체의 필드 값을 출력합니다.

Gson을 사용하여 자바 객체를 JSON 문자열로 변환하는 경우에는 toJson() 메서드를 사용할 수 있습니다. 다음은 Person 객체를 JSON 문자열로 변환하는 예제입니다:

import com.google.gson.Gson

fun main() {
    val person = Person("John", 30, "New York")
    val gson = Gson()
    val json = gson.toJson(person)
    println(json)
}

위의 예제에서는 toJson() 메서드를 사용하여 Person 객체를 JSON 문자열로 변환한 후, JSON 문자열을 출력합니다.

결론

이렇게하면 코틀린에서 Gson 라이브러리를 사용하여 JSON 데이터와 자바 객체 간의 변환을 손쉽게 할 수 있습니다. Gson은 강력하고 유용한 라이브러리이며, 다양한 JSON 데이터와 자바 객체 사이의 변환 작업을 간편하게 처리할 수 있습니다.

참고 자료