kotlin - Kotlin + Gson - 如何在数据类为空时获取空列表
问题描述
可以说我有以下数据类:
data class MyDataClass(@SerializedName("myList") val myList: List<String>)
我尝试解析这个 JSON:
{ "myList": null } or {}
我想得到一个空列表,但我得到一个 null 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())
推荐阅读
- scala - 当类型参数出现在不变位置时,如何使特征逆变?
- python - 我遇到的解析器错误
- php - 更改 CMYK 图像的一种颜色
- git - 如何在 git 中提交我添加的文件?
- mysql - 我如何在 MySql 中允许外部连接?
- laravel-5 - Laravel 测试:如果需要检查多个级别,assertJsonFragment 会失败
- c# - Wcf 服务参考在 2 个项目中不同
- php - 我应该加密整个数据库,还是只加密其中的字段?
- promise - Scala.js 编译错误对象 Promise 不带类型参数
- javascript - 如何使用 ADAL JS 获取当前用户角色