Cod*_*meo 11 parsing android json kotlin kotlinx.serialization
这是我的 pojo 类
@Serializable
data class Response(
@SerialName("message") val message: String?,
@SerialName("parameters") val parameters: Map<String, String>?
)
Run Code Online (Sandbox Code Playgroud)
这是 Json,我试图从以下位置解码:
{
"message": "Some text"
}
Run Code Online (Sandbox Code Playgroud)
此处,该字段parameters是可选的。当我尝试解码时
Json.decodeFromString<Response>(response)
Run Code Online (Sandbox Code Playgroud)
我收到以下异常:
kotlinx.serialization.MissingFieldException:序列名“Response”的类型需要字段“parameters”,但它丢失了
我期待将该字段设置parameters为null,如果该字段在Json
bro*_*oot 19
您需要为您的parameters属性指定一个默认值,如下所示:
@Serializable
data class Response(
@SerialName("message") val message: String?,
@SerialName("parameters") val parameters: Map<String, String>? = null
)
Run Code Online (Sandbox Code Playgroud)
您可以在这里阅读更多相关信息:https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/basic-serialization.md#optical-properties
| 归档时间: |
|
| 查看次数: |
6332 次 |
| 最近记录: |