依賴
libs.versions.toml
[versions]
...
kotlinx-serialization = "1.8.1"
[libraries]
...
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization"}
[plugins]
...
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
build.gradle.kt (Project level)
plugins {
...
alias(libs.plugins.kotlin.serialization) apply false
}
build.gradle.kt (Module level: app)
plugins {
...
alias(libs.plugins.kotlin.serialization)
}
android {
...
}
dependencies {
...
implementation(libs.kotlinx.serialization.json)
}
範例程式碼
先來個簡單的例子,讓 App 跑起來
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
MyLab01Theme {
Column(
modifier = Modifier.padding(50.dp)
) {
// 建一個 Serializable UserDto 類別的實例
val data = UserDto("Steve", "steve@abc.com")
// 然後把到轉成 String 格式
val userString = Json.encodeToString(data)
Text(text = userString)
// 再從 String 格式轉成 UserDto 的類別實例
val userDto = Json.decodeFromString<UserDto>(userString)
Text(text = userDto.name)
}
}
}
}
}
@Serializable
data class UserDto(
val name: String,
val email: String
)
Comments