【问题标题】:RxJava subscribe return null objectRxJava 订阅返回空对象
【发布时间】:2020-12-19 13:44:31
【问题描述】:

我的代码有什么问题?

在我来自服务器的 json 对象下方

{"Items": [
{
  "DistrictID": 1,
  "DistrictName": "sample string 2",
  "DistrictCode": "sample string 3",
  "RegionID": 4
},
{
  "DistrictID": 1,
  "DistrictName": "sample string 2",
  "DistrictCode": "sample string 3",
  "RegionID": 4
} ]}

我的 Api 请求

@GET("api/Taxes/GetDistricts")
fun getDistricts(): Observable<DistrictItems>

我的地区物品模型

 data class DistrictItems(
     var items: List<TaxDistrictModel>?

)

我的 TaxDistrictModel

data class TaxDistrictModel(

    var DistrictID: Int?,

    var DistrictName: String?,

    var DistrictCode: String?,

    var RegionID: Int?
)

我调用请求的函数

fun getRegions(): DistrictItems? {
     showLoading()
     api.getDistricts()
               .subscribeOnMain(
                       onNext = {
                           hideLoading()
                           Log.d("qwerty", "$$$$$$$$ ${it.items?.size}")
                           districtModelTypeTitles = it
                       },
                       onError = { showAlert(it) }
               )
               .disposedBy(compositeDisposable)
    return districtModelTypeTitles
}

在日志中它显示一个列表的空大小。

D/qwerty: $$$$$$$$ null

我真的被这个问题困住了

【问题讨论】:

    标签: android kotlin retrofit2 rx-java2


    【解决方案1】:

    默认情况下,JSON 字段名称区分大小写 --- 详细信息取决于您的 JSON 解析库。你的数据有Items,而你的模型类有items。因此列表显示为空。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-21
      • 2017-07-12
      • 2018-08-22
      • 2020-12-18
      • 2018-03-27
      • 1970-01-01
      相关资源
      最近更新 更多