首页 > 解决方案 > 没有键的 Json 数组不是有意的

问题描述

我可以在moviedb api中使用json数据。我想使用genre_ids。我获取json数组但我不打算进行任何活动。因为我的意图返回0。我想显示genre_ids数字。这里的json数据和一些代码如下:

{
    "page":1,
     "results":[
      {
          "genre_ids":[
            28,
            12,
            878
           ]
      }
   ]
}

首页片段

                override fun onResponse(response: JSONObject?) {
                    var tur = response?.getJSONArray("results")


                    for (i in 0 until tur!!.length()) {
                        val film = Movie()
                        var jsonObj = tur.getJSONObject(i)
                        film.title = jsonObj.getString("title")
                        film.releaseDate = jsonObj.getString("release_date")
                        film.posterPath = jsonObj.getString("poster_path")
                        film.voteAverage = jsonObj.getString("vote_average")
                        film.overView = jsonObj.getString("overview")


                        var deneme = jsonObj.getJSONArray("genre_ids")
                        for (j in 0 until deneme.length()) {
                            film.genreIds = deneme.getInt(j)
                            Log.e("c", deneme.getInt(j).toString())
                        }
}

详细活动

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_movie_detail)
        var baslik = intent.extras.getString("title")
        tvDetayBaslik.text = baslik
        var resim = intent.extras.getString("image")
        var url = "https://image.tmdb.org/t/p/w500"
        var poster = Glide.with(this).asBitmap().load(url + resim).into(imgPosterDetay)
        var tarih = intent.extras.getString("date")
        tvDetayTarih.text = tarih
        var puan = intent.extras.getString("point")
        if (puan=="0.0"){
            tvDetayPuan.text="Puan yok"
        }else {
            tvDetayPuan.text = puan.toString()
        }

        var aciklama = intent.extras.getString("description")
        if (aciklama == "") {
            tvDetayOverview.text = "Açıklama Yapılmamıştır."
        } else {
            tvDetayOverview.text = aciklama
        }

       var turId=intent.extras.getInt("id")
        Log.e("cagla", intent.extras.getInt("id").toString())

标签: androidarraysjsonandroid-intentkotlin

解决方案


推荐阅读