Gson的使用
项目做接口的时候,获取到的数据一般都是Json返回过来,如果Json一个一个单元解析的话,麻烦的不要不要的,这时候就需要Gson,当然还要别的开源框架可以做得到。
使用Gson的话要注意业务类的编写,命名跟类型要跟json那边的一样;
相应的业务类的编写
public class YouBean{
public List<InfoBean> search_list;
public static class InfoBean {
public String cid;
public String product_name;
}
}
如果使用Android Studio开发的话,可以使用 GsonFormat 这个插件生成业务类,方便快捷。
做到这一步剩下的就是解析了;一般会有这几种解析类型:
1.Json转对象的:
private static void parserJsonToObject() {
// json转换 为简单对象
String json = "{'name':'张三','age':18,'sex':true}";
Gson gson = new Gson();
Student student = gson.fromJson(json, Student.class);
}
2 Json转List的:
private static void parserJsonToList() {
String json = "[{'name':'小1','age':18,'sex':true},{'name':'小2','age':19,'sex':false},{'name':'小3','age':20,'sex':true},{'name':'小4','age':21,'sex':false},{'name':'小5','age':22,'sex':true}]";
Gson gson = new Gson();
TypeToken<List<Student>> token = new com.google.gson.reflect.TypeToken<List<Student>>() {
};
List<Student> stus = gson.fromJson(json, token.getType());
}
3.Json转Map的:
private static void parserJsonToMap() {
String json = "{'小3':{'name':'小3','age':20,'sex':true},'小4':{'name':'小4','age':21,'sex':false},'小5':{'name':'小5','age':22,'sex':true},'小1':{'name':'小1','age':18,'sex':true},'小2':{'name':'小2','age':19,'sex':false}}";
Gson gson = new Gson();
TypeToken<Map<String, Student>> token = new com.google.gson.reflect.TypeToken<Map<String, Student>>() {
};
Map<String, Student> stus = gson.fromJson(json, token.getType());
}
上面的所写的 YouBean 的Gson解析
YouBean bean= new Gson().fromJson(json_String, YouBean.class);
如果有不正确的地方,请指正,射射你…….