0Pricing
Kotlin Multiplatform Academy · Урок

@SerialName и пользовательское сопоставление полей

Сопоставляйте имена Kotlin с несовпадающими ключами JSON

«@SerialName и пользовательское сопоставление полей» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Names Do Not Always Match

Real APIs love keys like user_name, but Kotlin prefers userName. @SerialName lets the two disagree peacefully.

Rename a Single Field

Put @SerialName above a property to tell the serializer which JSON key it really maps to.

@SerialName("user_name") val userName: String

Kotlin Stays Idiomatic

Your code keeps clean camelCase names while the wire format keeps whatever the backend chose. Both sides win.

Snake Case Is Common

Many JSON APIs use snake_case, so mapping created_at to a createdAt property is one of the most frequent uses.

@SerialName("created_at") val createdAt: String

Map Reserved Words

If JSON has a key like type that clashes with your style, @SerialName frees you to name the property whatever reads best.

@SerialName("type") val kind: String

Works on Every Field

You can annotate as many properties as you like, mixing renamed and default-named fields inside the same data class.

Rename Enum Entries Too

@SerialName also works on enum constants, so an ACTIVE entry can serialize as the lowercase string the API expects.

@SerialName("active") ACTIVE

Global Naming Strategy

If every key is snake_case you can set a JsonNamingStrategy once instead of annotating each field by hand.

Json { namingStrategy = JsonNamingStrategy.SnakeCase }

Annotation Wins

When both a global strategy and an explicit @SerialName apply, the annotation takes priority for that one field.

Same Class, Both Ways

The custom names apply to both encoding and decoding, so one annotated model handles reading and writing JSON.

Decoupled From the Backend

Mapping keys explicitly means a backend rename only touches one annotation, not your whole codebase.

Quick Check

How do you map a JSON key to a differently named Kotlin property?

Recap

Use @SerialName to map mismatched JSON keys to idiomatic Kotlin names on fields and enums, or set a global naming strategy for whole models.

Часто задаваемые вопросы

Урок «@SerialName и пользовательское сопоставление полей» бесплатный?

Да — полный текст урока «@SerialName и пользовательское сопоставление полей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Чему я научусь в уроке «@SerialName и пользовательское сопоставление полей»?

Сопоставляйте имена Kotlin с несовпадающими ключами JSON Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?

Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «@SerialName и пользовательское сопоставление полей»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?

Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Модели данных @Serializable
  2. @SerialName и пользовательское сопоставление полей
  3. Допускающие null, стандартные и необязательные поля
  4. Подключение сериализации к Ktor
← Назад к Kotlin Multiplatform Academy