Kotlin Retrofit + OkHttp + kotlinx.serialization + Hilt网络请求JsonDecodingException:空字段报错
·
问题
Kottlin + reftrofit + okHttp + kotlinx.serialization网络请求提示kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 297: Expected string literal but 'null' literal was found at path: xxxx

解决
1. 可能为空的返回类型model 添加 ?表示可以为空
@Serializable
data class TestItem(
val id: Int,
var desc: String?, // 可能为空,需要加问号
)
2. Json转换初始化添加 coerceInputValues = true
@Provides
@Singleton
fun provideJson(): Json = Json {
coerceInputValues = true
}
更多推荐




所有评论(0)