后台返回json字段使用中文作为key 解析json
例如后台返回数据如下:{"code": 0,"message": "","data": [{"处方单": "-----","顺序": 4,"步骤": "前处理(全部)","标准工艺": "----(B)","化料助剂...
·
例如后台返回数据如下:
{
"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
)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)