Junior — Middle
85
Cum să excluziți un câmp specific din procesul de serializare sau generare a obiectului în data class?
Companiile au fost întrebate
ПСБ
Răspuns de la AI
sobes.tech AI
В 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
)
Таким образом, выбор аннотации зависит от используемой библиотеки сериализации.