首页 > 解决方案 > Kotlin + Gson - 如何在数据类为空时获取空列表

问题描述

可以说我有以下数据类:

data class MyDataClass(@SerializedName("myList") val myList: List<String>)

我尝试解析这个 JSON:

{ "myList": null } or {} 

我想得到一个空列表,但我得到一个 null myList。有谁知道如何在不registerTypeAdapter为包含列表的每种类型实现的情况下对其进行序列化?

如果我设置emptyList()为构造函数的默认值。第二个 JSON 按我的意愿工作。

标签: kotlingson

解决方案


切换@SerializedName("myList") val myList: List<String>到:

@SerializedName("myList") val myList: List<String>?只是为了安全null

现在,Kotlin 有了默认参数。但我不知道它是否适合你的情况:

data class MyDataClass(@SerializedName("myList") val myList: List<String> = emptyList())

推荐阅读