gpt4 book ai didi

android - 在 Kotlinx 序列化中使字段可选

转载 作者:行者123 更新时间:2023-12-04 23:53:31 24 4
gpt4 key购买 nike

这是我的 pojo 课

@Serializable
data class Response(
@SerialName("message") val message: String?,
@SerialName("parameters") val parameters: Map<String, String>?
)

这是 Json,我试图从以下位置解码:

{
"message": "Some text"
}

这里,parameters 字段是可选的。当我尝试解码时

Json.decodeFromString<Response>(response)

我收到以下异常:

kotlinx.serialization.MissingFieldException: Field 'parameters' isrequired for type with serial name 'Response', but it was missing

如果 Json

中缺少该字段,我期待将字段 parameters 设置为 null

最佳答案

您需要为 parameters 属性指定默认值,如下所示:

@Serializable
data class Response(
@SerialName("message") val message: String?,
@SerialName("parameters") val parameters: Map<String, String>? = null
)

您可以在此处阅读更多信息:https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/basic-serialization.md#optional-properties

关于android - 在 Kotlinx 序列化中使字段可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68192794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com