android解析集合嵌套集合的JSON数据
1.首先看一下后台返回的数据是什么样子的,这个JSON格式没有错误,但是解析搞的我头大!
2.0 获取后台返回的Json字符串,这一步应该都没有啥问题.因为这个data里面的数据才是后台返回的我们需要的数据.
JSONObject jsonObject = new JSONObject(s);
String data = jsonObject.getString("data");
ArrayList<ArrayList<PersonalBean.PersonallistBean>> dataList = getDataList(data);//这一行是解析的,最主要的一行代码.
EventBusUtils.post(new EventMessage<>(EventCode.EVENT_AC, dataList));//这一行是用EventBus传递数据,PS:你们可以改成自己接口回调方式.
2.1开始解析,下面是方法,把刚才获取的Json字符串放入这个方法里面
/**
* 解析方法
* @return
*/
public static ArrayList<ArrayList<PersonalBean.PersonallistBean>> getDataList(String strJson) {
ArrayList<ArrayList<PersonalBean.PersonallistBean>>datalist= new ArrayList<ArrayList<PersonalBean.PersonallistBean>>();
Gson gson = new Gson();
datalist = gson.fromJson(strJson, new TypeToken<ArrayList<ArrayList<PersonalBean.PersonallistBean>>>() {
}.getType());
return datalist;
}
2.2 下面是PersonalBean.PersonallistBean 到了自己项目可以自己定义.
public class PersonalBean implements Serializable{
private ArrayList<ArrayList<PersonallistBean>> personallist;
public ArrayList<ArrayList<PersonallistBean>> getPersonallist() {
return personallist;
}
public void setPersonallist(ArrayList<ArrayList<PersonallistBean>> personallist) {
this.personallist = personallist;
}
public static class PersonallistBean implements Serializable{
private String icon;
private String name;
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
2.3 后台返回这样的数据,是为了后期更好的维护项目,主要就是解析的方法,应该可以封装一个方法,现在项目时间比较紧张,暂时总结一下,后期可能会封装方法(可能性不大)!!!!
上一篇: Flutter oc项目中添加swift插件库报错问题
下一篇: 在原生项目中集成Flutter