@SerialName i własne mapowanie pól
Dopasowywanie nazw w Kotlinie do niezgodnych kluczy JSON
@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: StringKotlin 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: StringMapowanie 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: StringDział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") ACTIVEGlobalna 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.
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
- Modele danych @Serializable
- @SerialName i własne mapowanie pól
- Pola nullable, domyślne i opcjonalne
- Podłączanie Serialization do Ktor