안드로이드를 사용하지 않는데, 개인 프로젝트를 위해 앱을 개발하다가 kotlin을 사용하는 android에서 json을 쓰는 방법을 찾는 게 어려웠어서 정리해둡니다.
plugins {
...
id("org.jetbrains.kotlin.plugin.serialization") version "<kotlin과 동일>"
}
...
dependencies {
...
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:<kotlin에 적절한 버전>")
}
간단히 말하자면
1. kotlin과 동일한 버전의 org.jetbrains.kotlin.plugin.serialization
플러그인을 추가합니다.
2. kotlin과 호완되는 버전의 org.jetbrains.kotlinx:kotlinx-serialization-json
라이브러리를 추가합니다.
제 경우 kotlin:1.9.24, json:1.6.0 이었습니다.
기본적인 사용법은 쉽게 찾을 수 있습니다. 제 경우는 data class object의 List를 직렬화해야해서 그 방법을 공유합니다.
@Serializable
data class Tile (...)
... {
var tiles: List<Tile> = ...
...
var jsonString = Json.encodeToString(tiles)
...
var obj: List<Tile> = Json.decodeFromString<List<Tile>>(jsonString)
}
도움이 되면 좋겠습니다. 감사합니다.