我正在尝试通过GSON使用改造来解析Kotlin中的这种json:
{
"status":"ready"
"users":
[
{
"full_name":"user1",
"id":1
},
{
"full_name":"user2",
"id":2
}
]
}
我需要获取用户列表,因此我有一个改装请求,要求以这种方式定义该类的实例:
data class Info(var status:String, var users : List<User>)
这是请求:
@GET("info")
fun getInfo(): Flowable<Info>
这是用户类:
data class User (val full_name:String = "",
val id:Int = 0)
问题是,当full_name不在json中时,用户的字段full_name设置为null而不是“”。
含义:默认值被忽略。
但是,如果我将信息字段“ status”的默认值设置为“”,则可以正常工作:当在json中未定义状态时,创建的Info实例会将其参数“ status”设置为“”
我究竟做错了什么 ?
谢谢
原来,我给出的示例正在起作用。在我的实际代码中,我没有初始化所有变量...似乎是GSON的问题...
TL; DR如果要让GSON考虑默认值,则必须设置所有公开变量默认值
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句