#Kotlin #JSON
[[Kotlin Serialization]]を使う。
[[build.gradle.kts]]に以下を追記する。(バージョンは適宜変更)
```kotlin
plugins {
kotlin("plugin.serialization") version "1.7.10"
}
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0-RC")
}
```
## 型を指定してパース
クラスに`@Serializable`をつける。
```kotlin
@Serializable
data class Project(val name: String, val language: String)
// ...
val project = Json.decodeFromString<Project>(jsonStr)
```
## 型を指定せずパース
```kotlin
import kotlinx.serialization.json.*
// ...
val json = Json.parseToJsonElement(jsonStr)
// JSONのオブジェクト
json.jsonObject["key"]
// JSONのプリミティブ型
json.jsonPrimitive?.int!!
```
## 参考
- [kotlinx\.serialization/basic\-serialization\.md at master · Kotlin/kotlinx\.serialization](https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/basic-serialization.md#json-decoding)