Gson的基本使用

时光总嘲笑我的痴心妄想 提交于 2020-02-29 18:41:16

之前开发项目都是使用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     }
View Code

 

基本数据类型解析

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
View Code

基本数据类型生成

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"
View Code

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!