Я читаю в следующем JSON и использую GSON для преобразования его в объект, который я затем могу использовать для доступа к свойствам указанного объекта, чтобы помочь отображать изображения в моем приложении.
Однако одно из поля, которое я хочу использовать, imageURL, возвращает нулевые значения. Глядя на json (ссылка ниже), мы ясно видим, что он не равен нулю.
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)
Я считаю, что это должно быть достаточно подробно, но если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Спасибо.