この記事では、最小構成で「データクラス↔JSON」変換を実現する手順だけをまとめます。
今回はkotlinx.serializationを使用します。
依存関係を追加する(xx.xx.xxには使用するバージョンを入れてください。)
.kts
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:xx.xx.xx")
}
データクラスに@Serializableを付ける
.kt
import kotlinx.serialization.Serializable
@Serializable
data class User(
val id: Int,
val name: String
)
データクラス→JSONへ変換
.kt
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
val user = User(1, "kikumay")
val json = Json.encodeToString(user)
println(json)
// {"id":1,"name":"kikumay"}
JSON → データクラスへ変換
.kt
import kotlinx.serialization.decodeFromString
val jsonString = """{"id":1,"name":"kikumay"}"""
val user = Json.decodeFromString<User>(jsonString)
println(user)
// User(id=1, name=kikumay)
簡単に「データクラス↔JSON」変換を出来ました。