Alexander
01/20/2021, 7:47 PMimport kotlinx.serialization.*
import kotlinx.serialization.json.Json
// Uncomment to disable encoding default values
// @Serializable
internal class Action(
val id: String,
val routing: String? = null,
)
@Serializer(forClass = Action::class)
object ActionSerializer : KSerializer<Action>
fun main(args: Array<String>) {
val action = Action(
id = "1",
)
println(Json.encodeToString(ActionSerializer, action))
}
This code produces:
{
"id": "1",
"routing": null
}
If you uncomment @Serializable
annotation default values will be ignored.
Is this behavior a bug or not?Vsevolod Tolstopyatov [JB]
01/25/2021, 12:18 PMsandwwraith
01/26/2021, 10:27 AM