这是一个安卓大牛写的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