Моши игнорирует поле в Котлине

134
16

Я хочу знать, как игнорировать поле класса Kotlin при использовании Moshi.


Я нашел этот ответ для Java (поле игнорирования Moshi), что указывает на использование ключевого слова transient следующим образом


private transient String your_variable_name;

Но я не могу найти правильный способ сделать это в Котлине.

спросил(а) 2017-11-18T19:38:00+03:00 2 года, 7 месяцев назад
1
Решение
149

Используйте аннотацию @Transient.


@Transient
private val your_variable_name: String

Doc здесь: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-transient/index.html

ответил(а) 2017-11-18T19:43:00+03:00 2 года, 7 месяцев назад
41

Котлин + Дооснащение + Моши

В случае, если вы хотите условно игнорировать поля, вы можете установить его на нуль.

data class  User(var id: String,  var name: string?)

val user = User()
user.id = "some id"
user.name = null


Сгенерированный Json будет

user{
"id": "some id"
}

ответил(а) 2019-05-09T22:10:00+03:00 1 год, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема