Campos anuláveis, padrão e opcionais
Lide adequadamente com JSON ausente ou parcial
Campos anuláveis, padrão e opcionais é uma aula grátis de Kotlin Multiplatform Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
JSON Is Often Incomplete
Real responses skip fields or send null. Your shared models must handle missing data without crashing either app.
Make a Field Nullable
Mark a property as nullable with a trailing question mark, and the serializer happily reads a JSON null into it.
@Serializable
data class User(val bio: String?)Null vs Missing
A key set to null and a key that is simply absent are different cases, and the library treats each one distinctly.
Give a Default Value
A property with a default can be left out of the JSON entirely, and decoding fills in your fallback.
val role: String = "member"Optional Equals Default
In kotlinx.serialization, an optional field just means one that has a default, so absence is never an error.
Required Fields Are Strict
A non-null property with no default is required. If the JSON omits it, decoding throws a clear exception.
Nullable With a Default
You can combine both: a nullable property that defaults to null tolerates a missing key and a null value alike.
val avatar: String? = nullSkip Null on Output
Set explicitNulls to false and the encoder omits null fields instead of writing them out as null.
Json { explicitNulls = false }Tolerate Extra Keys
APIs add fields over time. Turn on ignoreUnknownKeys so new JSON keys never break your existing models.
Json { ignoreUnknownKeys = true }Coerce Bad Values
With coerceInputValues, a null sent for a field that has a default falls back to that default instead of failing.
Json { coerceInputValues = true }Resilient by Design
Combining nullable types, defaults and lenient config makes your shared parsing robust against messy real-world JSON.
Quick Check
How do you let a JSON key be safely omitted from a response?
Recap
Use nullable types and defaults for missing data, and tune Json with ignoreUnknownKeys, explicitNulls and coerceInputValues for resilient parsing.
Perguntas Frequentes
A aula “Campos anuláveis, padrão e opcionais” é grátis?
Sim — o texto completo de “Campos anuláveis, padrão e opcionais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
O que vou aprender em “Campos anuláveis, padrão e opcionais”?
Lide adequadamente com JSON ausente ou parcial Você pratica Kotlin Multiplatform Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Multiplatform Academy?
Nenhuma experiência prévia é necessária. Kotlin Multiplatform Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Campos anuláveis, padrão e opcionais”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Multiplatform Academy?
Sim. Cada aula de Kotlin Multiplatform Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Modelos de dados @Serializable
- @SerialName e mapeamento personalizado de campos
- Campos anuláveis, padrão e opcionais
- Integre a serialização ao Ktor