Android 如何更改元素JSON的数据类型?
我发现我的API有一个问题,问题是JSON中有不同的数据类型,我如何用数组类型将结果更改为带有kotlinlang的数组对象?下面是一个例子。多谢各位Android 如何更改元素JSON的数据类型?,android,arrays,json,object,kotlin,Android,Arrays,Json,Object,Kotlin,我发现我的API有一个问题,问题是JSON中有不同的数据类型,我如何用数组类型将结果更改为带有kotlinlang的数组对象?下面是一个例子。多谢各位 User: [{ Result : {}, Result : {}, Result : [] }] 这是我支持的调用API的类 class ServiceFactory { private fun retrofit(): Retrofit { val logging = Http
User: [{
Result : {},
Result : {},
Result : []
}]
这是我支持的调用API的类
class ServiceFactory {
private fun retrofit(): Retrofit {
val logging = HttpLoggingInterceptor()
logging.level = HttpLoggingInterceptor.Level.BASIC
val okHttpClient = OkHttpClient().newBuilder()
.addInterceptor(logging)
.readTimeout(30, TimeUnit.SECONDS)
.connectTimeout(30, TimeUnit.SECONDS)
.callTimeout(30, TimeUnit.SECONDS)
.build()
return Retrofit.Builder()
.baseUrl(BuildConfig.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addConverterFactory(ScalarsConverterFactory.create())
.client(okHttpClient)
.build()
}
fun instanceServices(): Services {
return retrofit().create(Services::class.java)
}
}
演讲者
class JobsPresenter(private val view: JobsView) {
fun getAllJobs(){
view.showLoading()
val api = ServiceFactory().instanceServices().getJobs()
api.enqueue(object : Callback<JobsModel>{
override fun onFailure(call: Call<JobsModel>, t: Throwable) {
view.hideLoading()
view.onFailure(t)
}
override fun onResponse(call: Call<JobsModel>, response: Response<JobsModel>) {
view.hideLoading()
if (response.isSuccessful){
view.onResponse(response.body())
}
}
})
}
}
你能再详细一点吗?你的班级看起来怎么样?请检查上面更新的我的问题@Adam Arold
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
getJobs()
}
private fun getJobs() {
JobsPresenter(this).getAllJobs()
}