我有后端返回我一些 json。
我把它解析给我的班级:
class SomeData(
@SerializedName("user_name") val name: String,
@SerializedName("user_city") val city: String,
var notNullableValue: String)
使用 gson 转换器工厂:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ENDPOINT)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
在我的界面中:
interface MyAPI {
@GET("get_data")
Observable<List<SomeData>> getSomeData();
}
然后我从服务器(使用 rxJava)检索数据,没有任何错误。但我预计会出现错误,因为我认为我应该做这样的事情(以防止 GSON 转换器错误,因为notNullableValue
我的 JSON 响应中不存在):
class SomeData @JvmOverloads constructor(
@SerializedName("user_name") val name: String,
@SerializedName("user_city") val city: String,
var notNullableValue: String = "")
从后端接收数据并解析到我的 SomeData 类后,构造函数没有 def 值,notNullableValue == null的值。
据我了解,不可为空的值在 Kotlin 中可以为空吗?