【发布时间】:2020-05-27 09:25:30
【问题描述】:
我正在阅读以下 JSON 并使用 GSON 将其转换为一个对象,然后我可以使用该对象来访问所述对象的属性以帮助在我的应用中显示图像。
但是,我想使用的字段之一 imageURL 正在返回空值。查看json(下面的链接)我们可以清楚地看到它不为null。
https://api.letsbuildthatapp.com/youtube/home_feed
我已经使用调试器演示了我为每个 imageURL 获得的空值:
所以对象给了我 imageURL 的空值,但链接没有。怎么回事?
这是我编写的用于获取和解析 JSON 对象的函数:
private fun fetchJson() {
println("Attempting to fetch JSON")
val url = "https://api.letsbuildthatapp.com/youtube/home_feed"
val request = Request.Builder().url(url).build()
val client = OkHttpClient()
client.newCall(request).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
val body = response.body?.string()
println(body)
val gson = GsonBuilder().create()
val homeFeed = gson.fromJson(body, HomeFeed::class.java)
runOnUiThread {
recyclerView_main.adapter = MainAdapter(homeFeed)
}
}
override fun onFailure(call: Call, e: IOException) {
println("failed to execute request")
}
}
)
}
我的 HomeFeed 课程是这样的:
class HomeFeed(val videos: List<Video>)
class Video(val id: Int, val name: String, val link: String, val imageURL: String, numberOfViews: Int,
val channel: Channel)
class Channel(val name: String, val profileImageUrl: String)
我认为这应该足够详细,但如果需要更多信息,请告诉我。
谢谢。
【问题讨论】:
-
你能添加你的对象模型吗...
-
我刚刚补充了
标签: android json android-studio gson