一、GSON介绍
GSON是谷歌提供的开源库,可以很方便的解析JSON数据
二、GSON的使用
GSON并没有被添加到官方的API中,需要在项目中添加Jar包,点击下载。
下载完成将Jar包拷贝到工程的 libs 目录下。
案例1:
json字符串:jsonData = "{"name":"Tom","age":"2"}"
1.首先定义一个Person类
public class Person{
private String name;
private String age;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(String age){
this.age = age;
}
public String getAge(){
return age;
}
}
2.创建Gson对象
Gson gson = new Gson();
Person person = gson.fromJson(jsonData, Person.class);
3.直接使用person对象里的get方法获取值
案例2:
数据是json数组
json字符串:jsonData = "[{"name":"Tom","age":"2"},{"name":"Tom","age":"2"},{"name":"Tom","age":"2"}]"
需要借助TypeToken
List<Person> people = gson.fromJson(jsonData, new TypeToken<List<Person>>(){}.getType());
案例3:
json 字符串:jsonData = "{"code":" ", "msg":" ", "data":"{"num":" ", "pbooks":[{"booId":" ", "bookName":" "} , {"booId":" ", "bookName":" "} ]}"}"
Gson gson = new Gson();
GetOrderBooksInfoModel modl= gson.fromJson(jsonData, GetOrderBooksInfoModel .class);
public class GetOrderBooksInfoModel {
public int code;
public String msg;
public DataBean data;
public static class DataBean {
public String num;
public List<PBooksListBean> pbooks;
public static class PBooksListBean{
public String bookId;
public String bookName;
}
}
}