例如后台返回数据如下:

{
    "code": 0,
    "message": "",
    "data": [
        {
            "处方单": "-----",
            "顺序": 4,
            "步骤": "前处理(全部)",
            "标准工艺": "----(B)",
            "化料助剂": "---",
            "化料代码": "---",
            "浓度": "---G/L ",
            "重量": "-----千克",
            "备注": "",
            "温度": "工艺----料 -------(B)"
        },
        {
            "处方单": "----",
            "顺序": 6,
            "步骤": "前---(全部)",
            "标准工艺": "----(B)",
            "化料助剂": "XQW---1",
            "化料代码": "-----",
            "浓度": "----G/L ",
            "重量": "---千克",
            "备注": "",
            "温度": "工艺化料 -------(B)"
        },

那么该如何解析呢

可以整个先解析整个BaseBean

 

Any其实就是data里面的内容

 

 //第二个接口,详情
    override fun getMachineOrder(bean: BaseBean<Any>) {
        try {
            val jsonObject = JSONObject(Gson().toJson(bean))
            val obj2 = jsonObject.getJSONObject("data")
            //动态获取key值
            val iterator = obj2.keys()
            val list = ArrayList<MachineOrder>()
            while (iterator.hasNext()) {
                val key = iterator.next()
                val value = obj2[key]
                val order = MachineOrder(key, value.toString())
                list.add(order)
            }
             
           // 最后得到的list就是一个列表
           
        } catch (e: JSONException) {
            e.printStackTrace()
            LogUtils.e("----MachineFragment 数据 解析失败---")
            ToastUtils.showToast("数据解析失败")
        }

    }


data class MachineOrder(
    val key: String,
    val value: String
)

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐