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

尼古拉斯

我正在尝试通过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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何仅使用Gson存储非默认值

来自分类Dev

如何为DateTime参数设置默认值

来自分类Dev

如何为星号参数设置默认值?

来自分类Dev

如何在Scala中设置功能参数的默认值

来自分类Dev

如何为星号参数设置默认值?

来自分类Dev

如何使用装饰器为功能参数设置默认值?

来自分类Dev

如何检查是否使用检查设置了python函数参数的默认值?

来自分类Dev

设置sympy lambdify参数的默认值

来自分类Dev

设置枚举参数的默认值

来自分类Dev

设置参数的默认值和类型

来自分类Dev

如何使用表达式作为参数默认值?

来自分类Dev

如何在Spring Boot请求参数中使用的类中的字段值上设置默认值

来自分类Dev

如何使用angularjs设置下拉菜单默认值

来自分类Dev

如何使用属性API设置虚拟属性的默认值

来自分类Dev

如何使用getter和setter设置默认值

来自分类Dev

如何使用名称设置LotusScript PickListString的默认值

来自分类Dev

如何将Argparse参数的默认值设置为位置参数的值?

来自分类Dev

如何访问函数参数的默认值?

来自分类Dev

如何记录为参数默认值

来自分类Dev

如果未在getopt中设置cmd参数,如何设置默认值

来自分类Dev

如何确定函数参数是自动设置为默认值还是在C ++中显式设置?

来自分类Dev

如果未在getopt中设置cmd参数,如何设置默认值

来自分类Dev

如何设置HTML选择的默认值?

来自分类Dev

如何设置多值选项的默认值

来自分类Dev

ACF:如何更改默认值/设置

来自分类Dev

Rails ActiveAdmin。如何设置默认值?

来自分类Dev

如何设置阴影属性的默认值

来自分类Dev

如何设置HTML选择的默认值?

来自分类Dev

如何设置指令属性的默认值?

Related 相关文章

热门标签

归档