现在大多数客户端与服务器之间交互的数据格式是json,我们在开发中需要去解析json数据,于是google为我们提供了json解析库—gson
在build.gradle中引入库:compile 'com.google.code.gson:gson:2.6.2'
单个对象
我们先看一个对象的简单用法,假设json数据的格式是这样的:
{
“id”:1,
”number“:2,
“date”:”2017-03-08“
}
这样我们需要定义对应的一个bean类:
public class Bean{
public int id;
public int number;
public String date;
}
使用起来只需要如下几行代码:
public static final String JSON_DATA = "...";
Bean bean = new Gson().fromJson(JSON_DATA , Bean.class);
对象的嵌套
我们假设返回的数据如下:
{
"id":100,
"number":200,
"date":"2017-03-08",
"people":{
"id":200,
"name":"xiaoming"
}
}
那么对象的定义如下:
public class Bean_one{
public int id;
public int number;
public String date;
public class Bean_two{
public int id;
public String name;
}
}
对象数组
我们假设返回的json数组如下:
[{
"id": 100,
"number": 10,
"date": "2017-03-08"
},
{
"id": 200,
"number": 20,
"date": "2017-03-08"
}]
这样解析的方法有两种:
1、解析成数组:
public static final String JSON_DATA = "...";
Bean [ ] beans = new Gson().fromJson(JSON_DATA,Bean [ ].class);
//这时候想转成List的话调用以下方法
//List<Bean> beanList = Arrays.asList(beans);
2、解析成List:
public static final String JSON_DATA = "...";
Type listType = new TypeToken<ArrayList<Bean>>(){}.getType();
ArrayList<Bean>beans = new Gson().fromJson(JSON_DATA, listType);
网友评论