Java 如果键不是字符串,Android改装读取响应
我的改装响应如下:Java 如果键不是字符串,Android改装读取响应,java,android,retrofit,kotlin,Java,Android,Retrofit,Kotlin,我的改装响应如下: langs: { af: "Afrikaans", am: "Amharic", ar: "Arabic", az: "Azerbaijani", ba: "Bashkir", ... 我试着把它读到列表中,但它不起作用。 有人知道将这个json转换为对象的最佳方式是什么吗 电话: val result=RestAPI.instance.reformation?.create(TranslateService::class.java) val
langs: {
af: "Afrikaans",
am: "Amharic",
ar: "Arabic",
az: "Azerbaijani",
ba: "Bashkir",
...
我试着把它读到列表中
,但它不起作用。
有人知道将这个json转换为对象的最佳方式是什么吗
电话:
val result=RestAPI.instance.reformation?.create(TranslateService::class.java)
val call=结果?.getLangs(“en”)
call?.enqueue(对象:Callback){
覆盖失效时的乐趣(调用:调用?、t:可丢弃?){
}
覆盖fun onResponse(调用:调用?,响应:响应?){
}
})
数据类LangsResponse(val-dirs:List,val-langs:List)
langs
是一个JSON对象,因此可以将其读取为映射。如果它是一个对象数组([{..},{..}]
),它将是列表
只需调整类型,它就会正确读取。显示您尝试过的代码。我在问题中添加了我的代码哦,真的。谢谢!:)
val result = RestAPI.instance.retrofit?.create(TranslateService::class.java)
val call = result?.getLangs("en")
call?.enqueue(object : Callback<LangsResponse>{
override fun onFailure(call: Call<LangsResponse>?, t: Throwable?) {
}
override fun onResponse(call: Call<LangsResponse>?, response: Response<LangsResponse>?) {
}
})
data class LangsResponse(val dirs: List<String>,val langs: List<Map<String,String>>)