Be aware that this is just a key-value formatting, where each payload data is just encoded as String. So there is no magical serialization for primitives or complex types embedded!
// primitive types:
// complex type
data class User(val name: String, val active: Boolean)
val key: keyOf<User>("user")
val user = User("Chris", true)
// as JSON
"user" : "User(name=Chris, active=true)"