美文网首页TECH_ANDROID
Android 使用FastJson解析json数据的手把手分析

Android 使用FastJson解析json数据的手把手分析

作者: 666swb | 来源:发表于2016-09-07 10:33 被阅读1850次

    1: 需要解析的json数据

    如下图如示,很简单的json数据,area,net,zyCompany中是数据的list(由于很长,不好全部列出,不过可以看下面的截图)

    http://pda.spring56.com/pda/api/getinterfaceData.do?style=json&func=A12&partner=test&datetime=20160907091844&content=eyJwZW9wX2NvZGUiOiLlrZnlsI/lvLoiLCJwYXNzd29yZCI6Ijk2ZTc5MjE4OTY1ZWI3MmM5MmE1NDlkZDVhMzMwMTEyIiwidmVyc2lvbiI6IjIwMTYwODMxIiwicGRhX2NvZGUiOiI5MFA2RTAwNTkwMDAifQ==&verify=1a0e875dbea3e0e35712b10efb8685df

    shot_1.png shot_area.png shot_net.png shot_zycompay.png

    3:FastJson 简单介绍

    fastjson是一个性能极好的用java语言实现的JSON 解析器和生成器,来自阿里巴巴的员工。

    特点:

    快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson); 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum); 零依赖(没有依赖其它任何类库除了JDK)

    官方地址:

    https://github.com/alibaba/fastjson

    4: Fastjson常用方法介绍

    (1): 解析为Bean

    public static final <T> T parseObject(String text, Class<T> clazz) {
            return parseObject(text, clazz, new Feature[0]);
        }
    
    

    参数第一个是json的字符串;第二个是对应Bean的类

    (2): 解析为List<Bean>

    public static final <T> List<T> parseArray(String text, Class<T> clazz) {...}
    

    **5: 下面开始实践吧 **

    有人说这么长的json,写对应的bean也很烦哦,不要担心,studio提供了插件GsonFormat, 可以一件生成响应的Bean(点击链接学习一下吧!)

    (1): 解析为BaseALLData类的代码

    BaseALLData data = JSON.parseObject(response, BaseALLData.class);
    BaseALLData.ObjBean objBean = data.getObj();
    mAreaList = objBean.getArea();
    mNetList = objBean.getNet();
    mZyCompanyList = objBean.getZyCompany();
    

    可以看到上面调用了JSON.parseObject()的方法,生成了BaseAllData的类,然后顺利的获取了area的list,net的list,zycompany的list等

    (2): 解析为list<bean>

    如果只要json数据中对应的Area对应的集合数据;

    JSONObject strObj = new JSONObject(response);
    JSONObject obj = strObj.optJSONObject("obj");
    String area_str = obj.optString("area");
    List<AreaBean> list = JSON.parseArray(area_str, AreaBean.class);
    

    到这里就结束了,更多fastjson的用法,大家自己研究研究,很好用!

    相关文章

      网友评论

      本文标题:Android 使用FastJson解析json数据的手把手分析

      本文链接:https://www.haomeiwen.com/subject/akrjettx.html