I found this question when I was finding a solution to this question but I do not want to use an adapter because you can only default to one value and one type. It is not flexible for me.
Instead of add an adapter, I use getter and setter in Kotlin.
data class User(
@Json(name = "id") var _id: Int?,
@Json(name = "name") var _name: String?,
@Json(name = "email") var _email: String?
) {
var id: Int
get() = _id ?: 0
set(value) {
_id = value
}
var name: String
get() = _name ?: ""
set(value) {
_name = value
}
var email: String
get() = _email ?: ""
set(value) {
_email = value
}
}
Using this method, you are give different default values if you want.