安卓json解析问题

[
    [{
        "26": "郑舒欢"
    }, {
        "27": "朱宇冰"
    }, {
        "28": "王子瑶"
    }, {
        "30": "马文慧"
    }, {
        "25": "马文慧"
    }, {
        "32": "金柔钰"
    }, {
        "33": "尹洁"
    }, {
        "34": "沈钰莹"
    }, {
        "20": "邓厚玲"
    }, {
        "15": "郑舒欢"
    }, {
        "14": "沈钰莹"
    }, {
        "19": "金柔钰"
    }, {
        "4": "王子瑶"
    }, {
        "5": "金柔钰"
    }, {
        "29": "邓厚玲"
    }, {
        "31": "代瑜婧"
    }, {
        "t_name": "陈敏焕"
    }],
    [{
        "14": "闵思玥"
    }, {
        "15": "胡嘉璐"
    }, {
        "19": "闵思玥"
    }, {
        "20": "沈彤"
    }, {
        "25": "姚佳萍"
    }, {
        "26": "胡嘉璐"
    }, {
        "27": "周家辉"
    }, {
        "30": "徐一匀"
    }, {
        "31": "沈彤"
    }, {
        "32": "吴成希"
    }, {
        "33": "陈晨"
    }, {
        "34": "潘闵毅"
    }, {
        "35": "马文慧"
    }, {
        "t_name": "宋铭东"
    }],
    [{
        "5": "李思燕"
    }, {
        "4": "徐艺"
    }, {
        "9": "杨啸龙"
    }, {
        "10": "沈钰莹"
    }, {
        "19": "徐艺"
    }, {
        "26": "邓晨曦"
    }, {
        "25": "刘瑞金"
    }, {
        "27": "邓雯欣"
    }, {
        "35": "李思燕"
    }, {
        "24": "吴乐凡"
    }, {
        "28": "戴佳怡"
    }, {
        "29": "陈旺"
    }, {
        "31": "杨啸龙"
    }, {
        "32": "叶佳乐"
    }, {
        "33": "刘瑞金"
    }, {
        "34": "沈佳颖"
    }, {
        "20": "沈钰莹"
    }, {
        "t_name": "王佳妹"
    }],
    [{
        "28": "邓晨曦"
    }, {
        "29": "叶佳乐"
    }, {
        "26": "李艺"
    }, {
        "27": "戴佳怡"
    }, {
        "33": "陆赢恩"
    }, {
        "32": "沈佳颖"
    }, {
        "31": "徐艺"
    }, {
        "34": "徐晨晖"
    }, {
        "t_name": "杨超"
    }],
    [{
        "4": "张沈豪"
    }, {
        "9": "曹颖"
    }, {
        "10": "郑舒欢"
    }, {
        "19": "王子瑶"
    }, {
        "20": "曹颖"
    }, {
        "24": "钦朱媛"
    }, {
        "25": "吴博豪"
    }, {
        "26": "张沈豪"
    }, {
        "27": "王子瑶"
    }, {
        "28": "邓厚玲"
    }, {
        "29": "金柔钰"
    }, {
        "30": "吴博豪"
    }, {
        "31": "邓厚玲"
    }, {
        "32": "郑舒欢"
    }, {
        "33": "代瑜婧"
    }, {
        "34": "金柔钰"
    }, {
        "35": "曹颖"
    }, {
        "t_name": "张靖鉴"
    }],
    [{
        "5": "曹颖"
    }, {
        "9": "胡嘉璐"
    }, {
        "10": "陈晨"
    }, {
        "19": "陈晨"
    }, {
        "20": "李思燕"
    }, {
        "24": "邓雯欣"
    }, {
        "25": "曹颖"
    }, {
        "26": "姚佳萍"
    }, {
        "27": "吴成希"
    }, {
        "28": "周家辉"
    }, {
        "29": "陈晨"
    }, {
        "31": "吴博豪"
    }, {
        "32": "曹颖"
    }, {
        "33": "徐郭璇"
    }, {
        "34": "胡嘉璐"
    }, {
        "t_name": "张娜"
    }],
    [{
        "26": "杨丰赫"
    }, {
        "27": "钱宇霄"
    }, {
        "28": "吴乐凡"
    }, {
        "29": "邓雯欣"
    }, {
        "31": "陈炜栋"
    }, {
        "32": "曹堉颖"
    }, {
        "33": "吴博豪"
    }, {
        "34": "刘瑞金"
    }, {
        "35": "钱宇霄"
    }, {
        "24": "刘瑞金"
    }, {
        "25": "候鸿雨"
    }, {
        "20": "无"
    }, {
        "19": "无"
    }, {
        "15": "阮湘"
    }, {
        "t_name": "张恬恺"
    }]
]

这样的json 如何用fastjson 解析到关联实体类 然后给 listview 使用

阅读 3k
4 个回答

List<List<T>>

如果可行话建议修改json格式,类似这样的话,就可以用map来接受了{ "5": "曹颖","9": "胡嘉璐","10": "陈晨","19": "陈晨"}
,或者改成
{
"id":"5",
"name":"曹颖"
}

1、如果你是用的androidstudio,请安装插件 gsonformat (file-settings-plugins,搜索库)
2、添加依赖 compile 'com.alibaba:fastjson:1.1.56.android' ;
3、送你代码

public class FastJsonUtils {

    /**
     * 功能描述:把JSON数据转换成普通字符串列表
     * 
     * @param jsonData
     *            JSON数据
     * @return
     * @throws Exception
     * @author myclover
     */
    public static List<String> getStringList(String jsonData) throws Exception {
        return JSON.parseArray(jsonData, String.class);
    }

    /**
     * 功能描述:把JSON数据转换成指定的java对象
     * 
     * @param jsonData
     *            JSON数据
     * @param clazz
     *            指定的java对象
     * @return
     * @throws Exception
     * @author myclover
     */
    public static <T> T getSingleBean(String jsonData, Class<T> clazz)
            throws Exception {
        return JSON.parseObject(jsonData, clazz);
    }

    /**
     * 功能描述:把JSON数据转换成指定的java对象列表
     * 
     * @param jsonData
     *            JSON数据
     * @param clazz
     *            指定的java对象
     * @return
     * @throws Exception
     * @author myclover
     */
    public static <T> List<T> getBeanList(String jsonData, Class<T> clazz)
            throws Exception {
        return JSON.parseArray(jsonData, clazz);
    }

    /**
     * 功能描述:把JSON数据转换成较为复杂的java对象列表
     * 
     * @param jsonData
     *            JSON数据
     * @return
     * @throws Exception
     * @author myclover
     */
    public static List<Map<String, Object>> getBeanMapList(String jsonData)
            throws Exception {
        return JSON.parseObject(jsonData,
                new TypeReference<List<Map<String, Object>>>() {
                });
    }

    /**
     * 将网络请求下来的数据用fastjson处理空的情况,并将时间戳转化为标准时间格式
     * @param result
     * @return
     */
    public static String dealResponseResult(String result) {
        result = JSONObject.toJSONString(result,
                SerializerFeature.WriteClassName,
                SerializerFeature.WriteMapNullValue,
                SerializerFeature.WriteNullBooleanAsFalse,
                SerializerFeature.WriteNullListAsEmpty,
                SerializerFeature.WriteNullNumberAsZero,
                SerializerFeature.WriteNullStringAsEmpty,
                SerializerFeature.WriteDateUseDateFormat,
                SerializerFeature.WriteEnumUsingToString,
                SerializerFeature.WriteSlashAsSpecial,
                SerializerFeature.WriteTabAsSpecial);
        return result;
    }
}

4、新建 class ,使用 gsonformat 插件 转为 『实体类』
5、最后一步

CourseModel wangDaiM =  null ;
wangDaiM = FastJsonUtils.getSingleBean(response, CourseModel.class);
欢迎采纳
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题