这是一个安卓大牛写的json数据处理的工具类,帮我很多,在此感谢!封装的简单而且实用,在此备份一下代码
首先说一下安卓studio中GsonFormat插件的安装方法,网上有很多,找了一个大牛的链接供参考
http://blog.csdn.net/ljb_blog/article/details/49795519

package com.lab.web.entity;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;

/**
 * Created by YTF on 2017/9/12.
 * 功能:将后台返回的json数据直接转换成list结合或者事先封装好的实体类同时完成赋值
 * 达到可以直接使用get方法获取到对应字段的数据
 * 使用方法:
 * String  json = "这里是网络请求来的json字符串 "
 * Bean bean = GsonUtil.changGsonToBean(json,Bean.class);
 * TextView text =text.setText(bean.getName());
 */

public class GsonUtil {

    public GsonUtil() {
        // TODO Auto-generated constructor stub
    }

    public static String createGsonString(Object object) {
        Gson gson = new Gson();
        String gsonString = gson.toJson(object);
        return gsonString;
    }
    // 把json字符串变成实体类Bean并对对应参数赋值
    public static <T> T changeGsonToBean(String gsonString, Class<T> cls) {
        try {
            Gson gson = new Gson();
            T t = gson.fromJson(gsonString, cls);
            return t;
        } catch (Exception e) {
            return null;
        }
    }
    // 把json字符串变成List<T>集合
    public static <T> List<T> changeGsonToList(String gsonString, Class<T> cls) {
        Gson gson = new Gson();
        List<T> list = gson.fromJson(gsonString, new TypeToken<List<T>>() {
        }.getType());
        return list;
    }

    // 把json字符串变成List<Map<String, T>集合
    public static <T> List<Map<String, T>> changeGsonToListMaps(
            String gsonString) {
        List<Map<String, T>> list = null;
        Gson gson = new Gson();
        list = gson.fromJson(gsonString, new TypeToken<List<Map<String, T>>>() {
        }.getType());
        return list;
    }
    // 把json字符串变成Map集合
    public static <T> Map<String, T> changeGsonToMaps(String gsonString) {
        Map<String, T> map = null;
        Gson gson = new Gson();
        map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() {
        }.getType());
        return map;
    }
    /**
     * 把json字符串变成实体类集合
     * params: new TypeToken<List<yourbean>>(){}.getType(),
     *
     * @param json
     * @param type new TypeToken<List<yourbean>>(){}.getType()
     * @return
     */
    public static <T> List<T> parseJsonToList(String json, Type type) {
        Gson gson = new Gson();
        List<T> list = gson.fromJson(json, type);
        return list;
    }

}

集成了GsonFormat插件后,在获取到后台json数据后,按照需求调用上述工具类中的合适方法,就可以快速获取到可以直接使用的返回的json数据源,并且可以直接在实体类中进行赋值和取值,不用一个一个在实体类中写变量名,也不用一层一层的解析json数据,直接可以从json中获取到自己想要的那部分数据源,快速生成对应实体类并进行赋值,并且操作完成后,就可以直接用get方法获取变量值进行赋值使用,在此谢过汪哥的无私分享
附:Android Studio中检查黄线的和隐藏bug的插件findbugs的安装和使用方式
其实和上边GsonFormat类似,都是AS中插件的集成,附上大牛链接即可
http://blog.csdn.net/omnispace/article/details/70209955

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 2 个月前
8c391e04 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐