Kotlin 如何使用GSON设置未公开参数的默认值

Kotlin 如何使用GSON设置未公开参数的默认值,kotlin,gson,Kotlin,Gson,我正在尝试通过GSON进行改造,以解析Kotlin中的此类json: { "status":"ready" "users": [ { "full_name":"user1", "id":1 }, { "full_name":"user2", "id":2 } ] } 我需要获取用户列表,因

我正在尝试通过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>)
问题是,当全名不在json中时,用户的全名字段被设置为null而不是“”

含义:默认值被忽略

但是,如果我将info字段“status”的默认值设置为“”,则会起作用:当json中未定义status时,创建的info实例的参数“status”设置为“”

我做错了什么


谢谢

事实证明我给出的例子是有效的。 在我的实际代码中,我没有初始化所有变量。。。似乎是GSON的问题

TL;博士
如果您希望GSON考虑默认值,则必须设置所有公开的变量默认值

谢谢,我仍然不理解他们为什么这样实现它。我花了一个小时试图弄明白我做错了什么。
@GET("info")
fun getInfo(): Flowable<Info>
data class User (val full_name:String = "",
                 val id:Int = 0)