欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android解析集合嵌套集合的JSON数据

程序员文章站 2022-06-01 17:54:10
...

1.首先看一下后台返回的数据是什么样子的,这个JSON格式没有错误,但是解析搞的我头大!

android解析集合嵌套集合的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 后台返回这样的数据,是为了后期更好的维护项目,主要就是解析的方法,应该可以封装一个方法,现在项目时间比较紧张,暂时总结一下,后期可能会封装方法(可能性不大)!!!!