Ссылка: https://bytes.babbel.com/en/articles/2018-05-25-kotlin-gson-nullability.html
В этой статье рассказывается об одном из недостатков GSON с Kotlin. Если у нас есть такой класс данных, и мы пытаемся его разбить:
data class User(
val email: String,
val firstName: String)
fun main(args: Array<String>) {
val json = """{
"email": null
}"""
val gson = Gson()
println(gson.fromJson(json, User::class.java).email)
}
, как только мы проанализируем его и используем поле email
, мы вернем NullPointerException
. Это предполагаемое поведение GSON.
Существует ли библиотека, которая может выдать мне ошибку типа IllegalStateException
и проверить, какое поле должно быть обнуляемым? Или есть способ обойти Moshi
или GSON
или любую другую библиотеку JSON, чтобы я мог получать подобные ошибки?