Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version
  1. Add kotlinx-serialization-json dependency to your project:
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0"
  1. Define your data classes and annotate them with @Serializable
@Serializable
data class User(
    val id: Int,
    val name: String,
    val email: String
)
  1. Use the Json object to parse the json string into an instance of your data class
import kotlinx.serialization.json.Json

val json = """
    {
        "id": 1,
        "name": "John Doe",
        "email": "johndoe@example.com"
    }
""".trimIndent()

val user = Json.decodeFromString<User>(json)
println(user.id) // 1
println(user.name) // "John Doe"
println(user.email) // "johndoe@example.com"

You can also serialize your data classes into json strings:

val serializedString = Json.encodeToString(user)
println(serializedString) // {"id":1,"name":"John Doe","email":"johndoe@example.com"}

Note: Be sure to import kotlinx.serialization.json.Json at the top of your file.