假设我有以下数据类:
data class MyDataClass(@SerializedName("myList") val myList: List<String>)
我尝试解析这个 JSON:
{ "myList": null } or {}
我想获得一个空列表,但我得到了一个空的myList
。有谁知道如何在不为包含列表的每种类型实现 registerTypeAdapter
的情况下对其进行序列化?
如果我将 emptyList()
设置为构造函数的默认值。第二个 JSON 按照我的意愿工作。
最佳答案
切换您的 @SerializedName("myList") val myList: List<String>
至:
@SerializedName("myList") val myList: List<String>?
只是为了安全null
.
现在,Kotlin 有了默认参数。但我不知道它是否适合你的情况:
data class MyDataClass(@SerializedName("myList") val myList: List<String> = emptyList())
关于Kotlin + Gson - 如何在数据类为 null 时获取空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52612365/