【发布时间】:2021-11-28 20:14:02
【问题描述】:
我的数据类中有以下属性
@Parcelize
@JsonClass(generateAdapter = true)
data class CatalogProduct(
@Json(name = "recommended")
val recommended: Int = 0
) : Parcelable
我收到以下错误:
Expected an int but was BOOLEAN at path $.products[0].recommended at $.products[0].recommended
由于我从 API 返回的响应可能不包含该值作为其可选值。
如果值不存在,以下将不会显示错误。
@Transient
@Json(name = "recommended")
val recommended: Int = 0
但是,如果响应包含该值,那么它将始终被排除在外
如果我像这样使属性为空,那么错误将再次显示:
@Json(name = "recommended")
val recommended: Int? = 0
如果响应中不存在值,我该如何推荐它会被忽略,如果有值则不会被忽略?
我正在使用以下依赖项和版本
moshiVersion = '1.11.0'
implementation "com.squareup.moshi:moshi:$moshiVersion"
implementation 'com.serjltt.moshi:moshi-lazy-adapters:2.2'
kapt "com.squareup.moshi:moshi-kotlin-codegen:$moshiVersion"
implementation "com.squareup.retrofit2:converter-moshi:$retrofitVersion"
【问题讨论】: