Kotlin + Gson - 如何在数据类为 null 时获取空列表

标签 kotlin gson

假设我有以下数据类:

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/

相关文章:

java - 使用 GSON 反序列化通用类型

json - 如何使用 Gradle 将 Boon 或 Jackson JSON 解析器添加到 Android 项目?

java - 让 gson 不要在字段名称周围加上引号

c++ - 将 gson 移植到 C++ 的努力或计划

java - 使用 gradle 构建并尝试使用 com.google.code.gson 时出现 ClassNotFoundException

java - 阻止 Gson 内省(introspection)类注释

java - 从Java,Android调用Kotlin?

function - Kotlin:高阶函数,如何将函数添加到集合中并调用它们

kotlin - 如何在内部类上调用函数

kotlin - 将 Kotlin JavaScript 代码拆分为多个 maven 模块