[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 데이터로 변환하기 위해서는, GsontoJson() 함수를 사용할 수 있습니다. 예를 들어, 위에서 생성한 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 형식의 데이터를 효율적으로 처리할 수 있습니다.


참고 자료: