码迷,mamicode.com
首页 > 移动开发 > 详细

gson在android中的应用

时间:2015-10-22 06:45:25      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

首先需要建一个实体类 Person.java 来对应json

 1 public class Person {
 2     private String name;
 3     private int age;
 4     private String city;
 5 
 6     public Person(String name, int age, String city){
 7         this.name = name;
 8         this.age = age;
 9         this.city = city;
10     }
11 
12     public Person(){}
13 
14     public void setName(String name) {
15         this.name = name;
16     }
17 
18     public String getName() {
19         return name;
20     }
21 
22     public void setAge(int age) {
23         this.age = age;
24     }
25 
26     public int getAge() {
27         return age;
28     }
29 
30     public void setCity(String city) {
31         this.city = city;
32     }
33 
34     public String getCity() {
35         return city;
36     }
37 }

然后这是编码和解码的具体实现

 1 import android.support.v7.app.AppCompatActivity;
 2 import android.os.Bundle;
 3 import android.util.Log;
 4 
 5 import com.google.gson.Gson;
 6 import com.google.gson.reflect.TypeToken;
 7 
 8 import java.lang.reflect.Type;
 9 import java.util.ArrayList;
10 import java.util.LinkedList;
11 import java.util.List;
12 
13 public class MainActivity extends AppCompatActivity {
14 
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.activity_main);
19 
20         List<Person> list = new ArrayList<Person>();
21         Person person = new Person("Thh", 23, "CHENGDU");
22         list.add(person);
23         person = new Person("CBB", 22, "CHENGDU");
24         list.add(person);
25         person = new Person("CMT", 18, "TIANJIN");
26         list.add(person);
27 
28         Gson gson = new Gson();
29 
30         Log.e("ABC", "" + gson.toJson(list));
31 
32         Person person1 = new Person();
33         Gson gson1 = new Gson();
34 
35         String s=gson.toJson(list);
36         Type lt=new TypeToken<List<Person>>(){}.getType();//获取一个泛型的数据类型
37         List<Person> l=gson1.fromJson(s,lt);
38         for(Person p1:l){
39             Log.e("ABC",p1.getName() + " " + p1.getAge() + " " + p1.getCity());
40         }
41     }
42 }

Logcat中显示结果:

10-22 01:22:01.444 16669-16669/? E/ABC: [{"age":23,"city":"CHENGDU","name":"Thh"},{"age":22,"city":"CHENGDU","name":"CBB"},{"age":18,"city":"TIANJIN","name":"CMT"}]
10-22 01:22:01.448 16669-16669/? E/ABC: Thh 23 CHENGDU
10-22 01:22:01.448 16669-16669/? E/ABC: CBB 22 CHENGDU
10-22 01:22:01.449 16669-16669/? E/ABC: CMT 18 TIANJIN

 

gson在android中的应用

标签:

原文地址:http://www.cnblogs.com/turtle920/p/4899711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!