web-dev-qa-db-ja.com

コシリンのモシ無視フィールド

Moshiを使用しているときにKotlinクラスフィールドを無視する方法を知りたい。

私はJava( Moshi ignore field ))に対してこの回答を見つけました。これは、次のようにキーワードTransientを使用することを示しています

private transient String your_variable_name;

しかし、これをKotlinで行うための正しい方法を見つけることができません。

14
heisen

使用 @Transientアノテーション。

@Transient
private val your_variable_name: String

ここにドキュメント: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-transient/index.html

23
marstran

コトリン+レトロフィット+モシ

フィールドを条件付きで無視する場合は、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"
}
2
Bellan