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