簡體   English   中英

在 Kotlinx 序列化中將字段設為可選

[英]Make a field optional in Kotlinx serialization

這是我的 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:序列名稱為“Response”的類型需要字段“parameters”,但缺少字段

我期待將字段parameters設置為null ,如果該字段在Json丟失

您需要為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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM