之前开发项目都是使用xUtils和fastjson,配合现在的工作需要,有必要学习一下Volley和Gson。
本文主要关于Gson。

1 //一个实体类
2 public class Person {
3 private String name;
4 private int age;
5
6 public String getName() {
7 return name;
8 }
9 public void setName(String name) {
10 this.name = name;
11 }
12 public int getAge() {
13 return age;
14 }
15 public void setAge(int age) {
16 this.age = age;
17 }
18
19 public String toString()
20 {
21 return name + ":" +age;
22 }
23
24
25 }
26
27 // 得到json
28 private String getJson(){
29 List<Person> person = new ArrayList<Person> ();
30 for (int i = 0; i < 5 ; i++){
31 Person p = new Person();
32 p.setName("name" + i);
33 p.setAge(i * 5);
34 person.add(p);
35 }
36
37 // 对象转json字符串
38 Gson gson = new Gson();
39 return gson.toJson(person);
40
41 }
42
43 //用gson将json字符串转换成单一实体类
44 private Person getPerson(){
45 String jsonStr = getJson();
46 Gson gson = new Gson();
47
48 //两个参数,json字符串、需要转换的对象类型
49 Person person = gson.fromJson(jsonStr, Person.class);
50
51 return person;
52 }
53
54 //用gson将json字符串转换成对象列表
55 private List<Person> getPersonList(){
56 String jsonStr = getJson();
57 Gson gson = new Gson();
58
59 //TypeToken是gson提供的数据类型转换器,可以支持各种数据集合类型转换
60 List<Person> list = gson.fromJson(jsonStr, new TypeToken<List<Person>>(){}.getType());
61
62 return list;
63 }
基本数据类型解析

1 Gson gson = new Gson();
2 int i = gson.fromJson("100", int.class); //100
3 double d = gson.fromJson("\"99.99\"", double.class); //99.99
4 boolean b = gson.fromJson("true", boolean.class); // true
5 String str = gson.fromJson("String", String.class); // String
基本数据类型生成

1 Gson gson = new Gson();
2 String jsonNumber = gson.toJson(100); // 100
3 String jsonBoolean = gson.toJson(false); // false
4 String jsonString = gson.toJson("String"); //"String"
来源:https://www.cnblogs.com/fans4-334/p/5907833.html
