GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用。如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的libs目录下添加这个文件即可;如果是在Java项目中,则把gson-2.2.4.jar先添加到当前项目的任意一个包中,然后右键点击这个jar包 -> 构建路径 -> 添加至构建路径。这样准备工作就做好了。
1.工具类
/**
*
*封装Json解析工具类,提供范型参数
*/
class GsonUtil{
//将json数据 解析成相应的映射对象
public static <T> T parseJsonWithGson(String jsonData,Class<T> type){
Gson gson = new Gson();
T result = gson.fromJson(jsonData,type);
return result;
}
//将Json数组解析成相应的映射对列表
public static <T> List<T> parseJsonArrayWithGson(String jsonData, Class<T> type){
Gson gson = new Gson();
List<T> result = gson.fromJson(jsonData,new TypeToken<List<T>>().{}.getType() );
return result ;
}
}
(1)单条无嵌套Json数据的解析
eg:{“name”:“jz”,"age":20}
1.定义数据结构类:
public class Person {
private String name ;
private String age;
//提供变量的set和get方法
}
2. 创建Gson对象并解析:
1 String jsonData = "{\"name\":\"John\", \"age\":20}"; //注:这里也可以不使用转义字符,而用单引号:String jsonData = "{'name':'John', 'age':20}"; 2 Gson gson = new Gson(); 3 Person person = gson.fromJson(jsonData,Person.class);
String jsonData = "{'name':'John', 'age':20}"; Person person = GsonUtil.parseJsonWithGson(jsonData, Person.class);
(2)单条有嵌套的Json数据解析
eg:{"name":"John", "age":20,"grade":{"course":"English","score":100,"level":"A"}}
1、定义Student类:
1 class Student { 2 private String name; 3 private