kotlin
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0'
}
kotlin
@Serializable
data class Person(
val name: String,
val age: Int
)
kotlin
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
fun main() {
val person = Person("John", 25)
val jsonString = Json.encodeToString(person)
println(jsonString)
}
json
{"name":"John","age":25}
kotlin
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
fun main() {
val jsonString = """{"name":"John","age":25}"""
val person = Json.decodeFromString<Person>(jsonString)
println(person)
}
Person(name=John, age=25)
kotlin
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlinx.serialization.Serializable
@Serializable
data class Person(
val name: String,
val age: Int
)
fun main() {
val customJson = Json {
prettyPrint = true
ignoreUnknownKeys = true
}
val person = Person("John", 25)
val jsonString = customJson.encodeToString(person)
println(jsonString)
val json = """{"name":"John","age":25,"city":"New York"}"""
val retrievedPerson = customJson.decodeFromString<Person>(json)
println(retrievedPerson)
}