【问题标题】:Using Gson and Anko使用 Gson 和 Anko
【发布时间】:2018-02-28 12:49:09
【问题描述】:

我有一个 JSON,我想在我的应用程序中使用它的数据,但我无法正确解析 JSON,因此我可以使用 JSON 中的值在片段中设置不同的按钮文本。 问题是每次我在feed.first_film 中都会得到空值。
我正在使用 Gson。

我的 JSON

{
"data": {
    "films": [
        {
            "film_id": "8",
            "first_film": "Dunkirk",
            "first_thumb": "firstlog.jpg",
            "first_desc": "Action- Drama-History",
            "second_film": "The Good Doctor S1 E11",
            "second_thumb": "secondlog.png",
            "second_desc": "Drama",
            "third_film": "Pirates Of The Caribbean Dead Men Tell No Tales",
            "third_thumb": "thirdlog.png",
            "third_desc": "Action- Fantasy-Adventure",
        }
    ]
}
}

我的主要活动.kt

class MoviesFrag : Fragment(), View.OnClickListener {
    var moviesURL: String? = null
    var ds: String? = null
    val url = "http://sign.aya.sy/mobi/index.php/welcome/get_films_det"
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        doAsync() {
            firstEx()
            uiThread {
                activity!!.longToast(ds)
            }
        }
        val view = inflater.inflate(R.layout.movies_frag, container, false)
        return view
    }
    fun firstEx() : Films{
        val moviesJsonString = URL(url).readText()
        Log.i("Json", moviesJsonString)
        val gson = GsonBuilder().create()
        val feed = gson.fromJson(moviesJsonString, Films::class.java)
        ds = feed.first_film
        return feed
    }

我的 DataClass.kt

data class MoviesData(val data: Data)

data class Data(val films: List<Films>)
data class Films(val film_id: String,
                 val first_film: String,
                 val first_thumb: String,
                 val first_desc: String,
                 val second_film: String,
                 val second_thumb: String,
                 val second_desc: String,
                 val third_film: String,
                 val third_thumb: String,
                 val third_desc: String,
                 val desc: String)

【问题讨论】:

  • 您的问题到底是什么? “无法正确解析”是什么意思?
  • 你想要解析什么?
  • “feed.first_film”为空
  • 你能害死你的电影模特课吗
  • @BhavyaGandhi 完成

标签: android json kotlin gson


【解决方案1】:

更改型号名称MoviesData 表格Films

 val moviesData= gson.fromJson(moviesJsonString, MoviesData::class.java)//Here you get moviesData array .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多