首页 > 解决方案 > android refrofit kotlin 从 api 获取 json 什么都不做

问题描述

我有REST API,如底部和kotlin应用程序,但我无法从中获取数据,也什么也不做。

我用JSON可以是原因吗?我尝试了大部分事情,但没有。

当我删除名称时,flyList 我可以得到它,但我不必删除该名称。

请帮忙。

JSON:

{
   "flyList":[
      {
         "pgt_id":1198952,
         "dmlsts":"U",
         "newparkpos":"1",
         "preparkpos":"3",
         "rkgelcag":"PGT82N",
         "rkgelpltar":"2021-07-31 00:00:00.0",
         "rkgelplsaat":"16:55:00",
         "rkgidcag":"PGT2260",
         "rkgidpltar":"2021-07-31 00:00:00.0",
         "rkgidplsaat":"18:00:00",
         "send":1,
         "delFly":0
      },
      {
         "pgt_id":1198826,
         "dmlsts":"U",
         "newparkpos":"204B",
         "preparkpos":"201A",
         "rkgelcag":"PGT14J",
         "rkgelpltar":"2021-07-31 00:00:00.0",
         "rkgelplsaat":"14:30:00",
         "rkgidcag":"PGT59K",
         "rkgidpltar":"2021-07-31 00:00:00.0",
         "rkgidplsaat":"17:35:00",
         "send":1,
         "delFly":0
      }
   ]
}

代码:

private fun loadData(){
         val retrofit=Retrofit.Builder()
             .baseUrl(BASE_URL)
             .addConverterFactory(GsonConverterFactory.create())
             .build()

         val  service =retrofit.create(FlightAPI::class.java)

         val call=service.getData()

         call.enqueue(object : Callback<FlightModel> {
             override fun onResponse(call: Call<FlightModel>, response: Response<FlightModel>) {

                 if (response != null && response.isSuccessful && response.body() != null) {
                     var data=response.body();
                 }
             }

             override fun onFailure(call: Call<FlightModel>, t: Throwable) {
                 TODO("Not yet implemented")
             }


         })


    }
    }

我将数据类Flight List和航班分开......

data class FlightModel(
    val flyList: List<Fly>
)


data class Fly(
    val delFly: Int,
    val dmlsts: String,
    val newparkpos: String,
    val pgt_id: Int,
    val preparkpos: Any,
    val rkgelcag: String,
    val rkgelplsaat: String,
    val rkgelpltar: String,
    val rkgidcag: String,
    val rkgidplsaat: String,
    val rkgidpltar: String,
    val send: Int
)

标签: androidkotlinretrofit

解决方案


像这样的api接口

接口 FlightAPI {

     fun getData():Call<FlightModel>

}

推荐阅读