android - 为什么我的数据类给出空值,除非我对其应用默认值?
问题描述
我正在尝试使用 kotlin 的数据类显示来自服务器的数据。它几乎可以正常工作,但是在某些情况下,每当我获取响应时,我不知道为什么它仍然给出空值,除非我""
为 msg 添加默认值 ()。
这是我的数据类
data class ViewcardModel( val msg: String = "", // here is default values val cartcnt: String = "", val order_total: Int = 0, val status: Boolean = false )
这是我从服务器的回复
{ status = false // server response }
解决方案
您可能正在使用 GSON 之类的东西来实例化模型的实例。这些工具使用反射来创建实例,因此主构造函数的默认参数值永远不会生效(因为它从未被调用过)。
您需要的内容与此问题的内容相同:
自定义反序列化器可能是您最终得到的。
推荐阅读
- flutter - 手势检测器和收音机
- javascript - coinmarketcap 新 api Node.js 到 php
- vuejs2 - V-Show 指令函数无限循环
- asp.net - 将 Umbraco 站点连接到 SQL Server 数据库时出错
- r - 使用 dplyr(NA 和 grep)在多种条件下变异
- android - 将项目上传到 GitHub 时重复项目文件夹
- python-3.x - 运行时错误 R6034,在 Windows 7 上为 Python3 安装 OpenCV 后
- swift - 具有长 JSON 数据的多个 Alamofire 请求问题
- python - Python:find_all 仅适用于某些标签
- django - Django queries using a list