Junior — Middle
87
Kako isključiti određeno polje iz procesa serializacije ili generisanja objekta u data class?
Компаније где су питане
ПСБ
Одговор од АИ
sobes.tech АИ
В Kotlin data class, чтобы исключить конкретное поле из сериализации (например, при использовании Gson или Moshi), можно использовать аннотации, которые игнорируют это поле. Например, для Gson применяется @Transient или @Expose(serialize = false, deserialize = false).
Пример с @Transient:
data class User(
val name: String,
@Transient val password: String // это поле не будет сериализовано
)
Поле с аннотацией @Transient не попадёт в сериализованный JSON и не будет учитываться при генерации объекта из JSON.
Если используется Jackson, то можно применить аннотацию @JsonIgnore:
import com.fasterxml.jackson.annotation.JsonIgnore
data class User(
val name: String,
@JsonIgnore val password: String
)
Таким образом, выбор аннотации зависит от используемой библиотеки сериализации.