Junior — Middle
86
Data class-ში სერილიზაციის ან ობიექტის შექმნის პროცესიდან კონკრეტული ველი როგორ გამოვრიცხოთ?
კომპანიებმა სადაც სთხოვეს
ПСБ
პასუხი 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
)
Таким образом, выбор аннотации зависит от используемой библиотеки сериализации.