@SerialName e mappatura personalizzata dei campi
Associare i nomi Kotlin a chiavi JSON diverse
@SerialName e mappatura personalizzata dei campi è una lezione Kotlin Multiplatform Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Multiplatform Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Multiplatform Academy include 4 lezioni in totale.
I nomi non corrispondono sempre
Le API reali amano chiavi come user_name, mentre Kotlin preferisce userName. @SerialName permette alle due convenzioni di non coincidere senza problemi.
Rinomini un singolo campo
Inserisca @SerialName sopra una proprietà per indicare al serializer a quale chiave JSON deve essere realmente associata.
@SerialName("user_name") val userName: StringKotlin resta idiomatico
Il codice mantiene nomi puliti in camelCase, mentre il formato di trasmissione conserva quelli scelti dal backend. Entrambi i lati ne traggono vantaggio.
Lo snake case è comune
Molte API JSON usano snake_case, quindi mappare created_at su una proprietà createdAt è uno degli utilizzi più frequenti.
@SerialName("created_at") val createdAt: StringMappare le parole riservate
Se JSON contiene una chiave come type che non si adatta al Suo stile, @SerialName Le permette di assegnare alla proprietà il nome più chiaro e naturale.
@SerialName("type") val kind: StringFunziona su ogni campo
Può annotare tutte le proprietà che desidera, combinando campi rinominati e campi con il nome predefinito nella stessa data class.
Rinominare anche le voci degli enum
@SerialName funziona anche sulle costanti degli enum, quindi una voce ACTIVE può essere serializzata come la stringa in minuscolo prevista dall'API.
@SerialName("active") ACTIVEStrategia di denominazione globale
Se ogni chiave è in snake_case, può impostare una volta sola una JsonNamingStrategy invece di annotare manualmente ogni campo.
Json { namingStrategy = JsonNamingStrategy.SnakeCase }Prevale l'annotazione
Quando si applicano sia una strategia globale sia un @SerialName esplicito, per quel campo ha la precedenza l'annotazione.
La stessa classe, in entrambi i sensi
I nomi personalizzati si applicano sia alla codifica sia alla decodifica, quindi un unico model annotato gestisce la lettura e la scrittura di JSON.
Separato dal backend
Mappare esplicitamente le chiavi significa che una loro rinomina nel backend richiede di modificare una sola annotation, non l'intera base di codice.
Verifica rapida
Come si mappa una chiave JSON su una proprietà Kotlin con un nome diverso?
Riepilogo
Usi @SerialName per mappare chiavi JSON non corrispondenti su nomi Kotlin idiomatici nei campi e negli enum, oppure imposti una strategia di denominazione globale per interi modelli.
Domande Frequenti
La lezione «@SerialName e mappatura personalizzata dei campi» è gratuita?
Sì — il testo completo di «@SerialName e mappatura personalizzata dei campi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Multiplatform Academy, passa a CoddyKit PRO. Il corso Kotlin Multiplatform Academy include 4 lezioni in totale.
Cosa imparerò in «@SerialName e mappatura personalizzata dei campi»?
Associare i nomi Kotlin a chiavi JSON diverse Eserciti Kotlin Multiplatform Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Kotlin Multiplatform Academy?
Non è richiesta alcuna esperienza precedente. Kotlin Multiplatform Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «@SerialName e mappatura personalizzata dei campi»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Kotlin Multiplatform Academy?
Sì. Ogni lezione Kotlin Multiplatform Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Modelli dati @Serializable
- @SerialName e mappatura personalizzata dei campi
- Campi nullable, predefiniti e opzionali
- Integrare la serializzazione in Ktor