[Android] 028. JSON(Kotlin Serialization)

Dolphinで確認したJSON(Kotlin Serialization)が1.9.0になって多少手順が変わったので再確認です
また今回はgradle.ktsに対応した版です

まずはgithubを参照してライブラリバーションなどを確認してくださいるhttps://github.com/Kotlin/kotlinx.serialization

依存関係

Project Structuerなどでorg.jetbrains.kotlinx:kotlinx-serialization-jsonをimplementationしてください(ここでは1.6.0)

kotlinx-serializationプラグインの設定をbuild.gradleにします
以前のproguard-rule.proの設定はGitHubに特に記載されていなかったのでしません

plugins {
    kotlin("plugin.serialization") version "1.9.0"
}
plugins {
    id("kotlinx-serialization")
}

実装

実装方法は特に変わりません

import kotlinx.serialization.*
import kotlinx.serialization.json.*

@Serializable
data class Datas(
    @SerialName("datas_name") val name: String,
    @SerialName("datas_num") val num: Int,
)

fun encodeJson() {
    val datas = Datas("test", 123)
    val json = Json.encodeToString(datas)
    // {"datas_name":"test","datas_num":123}
    println(json)
}

fun decodeJson() {
    var json = "{\"datas_name\":\"test\",\"datas_num\":123}"
    val datas = Json.decodeFromString<Datas>(json)
    // Datas(name=test, num=123)
    println(datas)
}

Android Studio Giraffe 2022.3.1 Patch 1 built on August 17, 2023