我有一个通过改装填充的数据类。服务器(API)中没有id
字段。因此,我创建了一个val id
并为其分配了一些值,例如69
。但是,一旦收到数据,id的值就不是69
,而是0
。请帮助。
@Entity(tableName = "current_weather")
data class CurrentWeather(
@SerializedName("last_updated_epoch")
val lastUpdatedEpoch: Int,
// ... //
@SerializedName("gust_kph")
val gustKph: Float
) {
@PrimaryKey(autoGenerate = false)
var id: Int = 69
}
我什至尝试这样做:
data class CurrentWeather(
@PrimaryKey(autoGenerate = false)
val id: Int = 69,
// ... //
)
答案 0 :(得分:1)
function exists(data){
data !== null && data !== undefined
}
if( exists( maybeObject ) ){
alert("Got here!");
}
更新。
这是准备写入数据库的对象。 对于您的情况,您应该从Retrofit响应对象到Data Entity数据类编写一个映射器/转换器。
答案 1 :(得分:1)
好吧,这似乎是GSON的问题,因为它不能正确地支持kotlin,所以需要序列化和反序列化。阅读Gson Deserialization with Kotlin, Initializer block not called了解更多信息。