[kotlin] 코틀린 웹 서버에서 JSON 형식 데이터 처리 방법
이번 포스트에서는 코틀린 언어를 사용하여 웹 서버에서 JSON 형식의 데이터를 처리하는 방법에 대해 알아보겠습니다.
1. 의존성 추가하기
먼저, JSON 데이터를 처리하기 위해 Gson 라이브러리를 사용할 것입니다. 따라서, build.gradle
파일에 아래의 의존성을 추가해주세요.
dependencies {
implementation 'com.google.code.gson:gson:2.8.7'
}
2. JSON 데이터 파싱하기
2.1. JSON 데이터를 객체로 변환하기
JSON 데이터를 객체로 변환하기 위해, 코틀린에서는 Gson
클래스를 사용할 수 있습니다. 예를 들어, 다음과 같은 JSON 데이터가 있다고 가정해봅시다.
{
"name": "John",
"age": 30,
"email": "john@example.com"
}
이를 코틀린에서 다음과 같이 파싱할 수 있습니다.
import com.google.gson.Gson
val jsonString = "{\"name\":\"John\",\"age\":30,\"email\":\"john@example.com\"}"
val gson = Gson()
val person = gson.fromJson(jsonString, Person::class.java)
data class Person(val name: String, val age: Int, val email: String)
2.2. 객체를 JSON 데이터로 변환하기
객체를 JSON 데이터로 변환하기 위해서는, Gson
의 toJson()
함수를 사용할 수 있습니다. 예를 들어, 위에서 생성한 Person
객체를 다음과 같이 JSON 문자열로 변환할 수 있습니다.
import com.google.gson.Gson
val person = Person("John", 30, "john@example.com")
val gson = Gson()
val jsonString = gson.toJson(person)
data class Person(val name: String, val age: Int, val email: String)
3. 웹 요청과 응답에서 JSON 데이터 처리하기
3.1. 웹 요청에서 JSON 데이터 받기
웹 요청에서 JSON 데이터를 받기 위해서는, 코틀린의 request
객체를 사용할 수 있습니다. 예를 들어, POST 요청을 받는 경우 다음과 같이 JSON 데이터를 받을 수 있습니다.
import com.google.gson.Gson
import spark.Request
val gson = Gson()
val request: Request = ...
val person = gson.fromJson(request.body(), Person::class.java)
data class Person(val name: String, val age: Int, val email: String)
3.2. 웹 응답에 JSON 데이터 보내기
웹 응답에 JSON 데이터를 보내기 위해서는, 코틀린의 response
객체를 사용할 수 있습니다. 예를 들어, 다음과 같은 JSON 데이터를 웹 응답으로 보낼 수 있습니다.
import com.google.gson.Gson
import spark.Response
val gson = Gson()
val response: Response = ...
val person = Person("John", 30, "john@example.com")
val jsonString = gson.toJson(person)
response.type("application/json")
response.status(200)
response.body(jsonString)
data class Person(val name: String, val age: Int, val email: String)
결론
이렇게 코틀린 웹 서버에서 JSON 형식의 데이터를 처리하는 방법에 대해 알아보았습니다. Gson 라이브러리를 활용하여 JSON 데이터를 쉽게 파싱하고, 객체를 JSON 데이터로 변환할 수 있습니다. 이를 통해 코틀린 웹 서버 개발에서 JSON 형식의 데이터를 효율적으로 처리할 수 있습니다.
참고 자료: