// Created on savesnippets.com ยท https://savesnippets.com/akLFaBR7aT9pdg // build.gradle.kts: // plugins { kotlin("plugin.serialization") version "1.9.+" } // implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.+") import kotlinx.serialization.* import kotlinx.serialization.json.* @Serializable data class User(val id: Int, val name: String, val email: String) val json = Json { prettyPrint = true ignoreUnknownKeys = true // tolerate extra fields from server encodeDefaults = true } fun main() { val user = User(42, "Alice", "a@x.com") val text: String = json.encodeToString(user) println(text) // { // "id": 42, // "name": "Alice", // "email": "a@x.com" // } val parsed: User = json.decodeFromString(text) println(parsed) // List too val users = listOf(User(1, "A", "a@x"), User(2, "B", "b@x")) val arrayText = json.encodeToString(users) val back: List = json.decodeFromString(arrayText) }