【发布时间】:2018-05-02 06:43:57
【问题描述】:
我想知道在使用 Moshi 时如何忽略 Kotlin 类字段。
我找到了 Java 的这个答案 (Moshi ignore field),这表明使用关键字transient 如下
private transient String your_variable_name;
但我找不到在 Kotlin 中完成这项工作的正确方法。
【问题讨论】:
标签: json kotlin serialization moshi
我想知道在使用 Moshi 时如何忽略 Kotlin 类字段。
我找到了 Java 的这个答案 (Moshi ignore field),这表明使用关键字transient 如下
private transient String your_variable_name;
但我找不到在 Kotlin 中完成这项工作的正确方法。
【问题讨论】:
标签: json kotlin serialization moshi
使用@Transient 注释。
@Transient
private val your_variable_name: String
文档在这里:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-transient/index.html
【讨论】:
Kotlin + 改造 + Moshi
如果您想有条件地忽略字段,可以将其设置为 null。
data class User(var id: String, var name: string?)
val user = User()
user.id = "some id"
user.name = null
生成的 Json 将是
user{
"id": "some id"
}
【讨论】:
@Transient @Json(name= "snow") val snowVolume: Int? = null