Kotlin Multiplatform Academy · Lekcja

@SerialName i własne mapowanie pól

Dopasowywanie nazw w Kotlinie do niezgodnych kluczy JSON

Lekcja 2 z 413 kroki

@SerialName i własne mapowanie pól to bezpłatna lekcja Kotlin Multiplatform Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Kotlin Multiplatform Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.

Nazwy nie zawsze pasują

Rzeczywiste API często używają kluczy takich jak user_name, podczas gdy Kotlin preferuje userName. @SerialName pozwala im się różnić bez konfliktów.

Zmień nazwę pojedynczego pola

Umieść @SerialName nad właściwością, aby wskazać serializerowi, z którym kluczem JSON ma być ona powiązana.

@SerialName("user_name") val userName: String

Kotlin pozostaje idiomatyczny

Twój kod zachowuje przejrzyste nazwy w stylu camelCase, a format przesyłanych danych nadal używa nazw wybranych przez backend. Obie strony na tym zyskują.

Snake case jest powszechny

Wiele interfejsów API opartych na JSON używa snake_case, dlatego mapowanie created_at na właściwość createdAt jest jednym z najczęstszych zastosowań.

@SerialName("created_at") val createdAt: String

Mapowanie zarezerwowanych słów

Jeśli JSON zawiera klucz taki jak type, który koliduje z Państwa stylem, @SerialName pozwala nadać właściwości nazwę, która najlepiej pasuje do kodu.

@SerialName("type") val kind: String

Działa dla każdego pola

Mogą Państwo dodawać adnotacje do dowolnej liczby właściwości, łącząc pola o zmienionych i domyślnych nazwach w tej samej data class.

Zmieniaj także wpisy enum

@SerialName działa również dla stałych enum, dzięki czemu wpis ACTIVE może być serializowany jako ciąg małych liter wymagany przez API.

@SerialName("active") ACTIVE

Globalna strategia nazewnictwa

Jeśli każdy klucz ma postać snake_case, mogą Państwo ustawić raz JsonNamingStrategy, zamiast ręcznie dodawać adnotacje do każdego pola.

Json { namingStrategy = JsonNamingStrategy.SnakeCase }

Adnotacja ma pierwszeństwo

Gdy obowiązują jednocześnie strategia globalna i jawna adnotacja @SerialName, adnotacja ma pierwszeństwo dla tego konkretnego pola.

Ta sama klasa w obie strony

Niestandardowe nazwy dotyczą zarówno kodowania, jak i dekodowania, więc jeden oznaczony adnotacją model obsługuje odczyt i zapis JSON.

Niezależność od backendu

Jawne mapowanie kluczy oznacza, że zmiana nazwy w backendzie wymaga zmiany tylko jednej annotation, a nie całej bazy kodu.

Szybkie sprawdzenie

Jak mapuje się klucz JSON na właściwość Kotlin o innej nazwie?

Podsumowanie

Za pomocą @SerialName można mapować niezgodne klucze JSON na idiomatyczne nazwy Kotlin w polach i enumach albo ustawić globalną strategię nazewnictwa dla całych modeli.

Bezpłatny start

Ucz się Kotlin dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „@SerialName i własne mapowanie pól” jest bezpłatna?

Tak — pełny tekst „@SerialName i własne mapowanie pól” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Kotlin Multiplatform Academy, przejdź na CoddyKit PRO. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „@SerialName i własne mapowanie pól”?

Dopasowywanie nazw w Kotlinie do niezgodnych kluczy JSON Ćwiczysz Kotlin Multiplatform Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Kotlin Multiplatform Academy?

Nie wymagamy żadnego doświadczenia. Kotlin Multiplatform Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „@SerialName i własne mapowanie pól”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Kotlin Multiplatform Academy?

Tak. Każda lekcja Kotlin Multiplatform Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Modele danych @Serializable
  2. @SerialName i własne mapowanie pól
  3. Pola nullable, domyślne i opcjonalne
  4. Podłączanie Serialization do Ktor
← Powrót do Kotlin Multiplatform Academy