Android 带有Kotlin列表对象/GSON的NullPointerException

Android 带有Kotlin列表对象/GSON的NullPointerException,android,kotlin,gson,Android,Kotlin,Gson,我使用GSON解析来自web服务的JSON。我在测试设备或模拟器上对此没有任何问题,但当我尝试访问列表对象之一时,在游戏控制台上的启动前报告测试中,我会遇到NullPointerException崩溃 在访问对象之前,我已经尝试过检查对象是否为null,但在启动前的报告中仍然看到崩溃 下面是包含导致崩溃的列表对象的Hourly data类: data class Hourly( @SerializedName("data") val data: List<Conditions>

我使用GSON解析来自web服务的JSON。我在测试设备或模拟器上对此没有任何问题,但当我尝试访问列表对象之一时,在游戏控制台上的启动前报告测试中,我会遇到NullPointerException崩溃

在访问对象之前,我已经尝试过检查对象是否为null,但在启动前的报告中仍然看到崩溃

下面是包含导致崩溃的列表对象的Hourly data类:

data class Hourly(
    @SerializedName("data") val data: List<Conditions> = listOf(),
    @SerializedName("summary") val summary: String = "" //Partly cloudy in the evening
)
另一件需要注意的事情是,在过去的一年中,这段代码运行良好,但当我将应用程序更新为API 28和Kotlin 1.3.50时,崩溃开始发生

更新

我尝试将我的数据模型类中的几乎所有对象都设置为可空,但仍然遇到崩溃。下面是崩溃日志的结尾,以防有帮助:

 FATAL EXCEPTION: main
 Process: com.xxx.xxxx, PID: 27844
 java.lang.NullPointerException: throw with null exception
    at com.xxx.xxxx.model.Hourly.getData(Hourly.java:3)
    at com.xxx.xxxx.view.UserInterface.updateCurrently(UserInterface.java:38)

基于此,我假设我应该每小时检查一次空值。数据…

我不知道为什么,但在我的发布版本设置中关闭minifyEnabled并打开multidexEnabled修复了此错误。很高兴我花了整整3天的时间在这上面。

你的列表中有空元素吗?也就是说,与其说是
List
,不如说它应该是
List
您应该有另一个
Conditions
数据类,在这个数据类中,您可以将属性设置为null,这些属性可能是null响应。我尝试将数据类中的每个项都设置为null,但我仍然看到崩溃。我将用崩溃日志更新这个问题,看看这是否有助于缩小范围。
 FATAL EXCEPTION: main
 Process: com.xxx.xxxx, PID: 27844
 java.lang.NullPointerException: throw with null exception
    at com.xxx.xxxx.model.Hourly.getData(Hourly.java:3)
    at com.xxx.xxxx.view.UserInterface.updateCurrently(UserInterface.java:38)