gson使用在android使用例子

http://smallbee.iteye.com/blog/1066993
Java代码 复制代码  收藏代码gson使用在android使用例子
  1. 虽然android自带了json处理,但是没有封装,总觉得不方便,网上找了gson的处理,觉得还行。  
虽然android自带了json处理,但是没有封装,总觉得不方便,网上找了gson的处理,觉得还行。
Java代码 复制代码  收藏代码gson使用在android使用例子
  1. //转换器   
  2.         GsonBuilder builder new GsonBuilder();    
  3.         // 不转换没有 @Expose 注解的字段    
  4.         builder.excludeFieldsWithoutExposeAnnotation();   
  5.         Gson gson builder.create();    
  6.            
  7.         //1、对象转string   
  8.         Student stu new Student();   
  9.         stu.setStudentId(333);   
  10.         stu.setStudentName("qqq");   
  11.         String stuStr gson.toJson(stu);   
  12.         System.out.println(stuStr); //{"studentName":"qqq","studentId":333}   
  13.            
  14.            
  15.         //2、string转对象   
  16.         Student user2 gson.fromJson(stuStr, Student.class);    
  17.         System.out.println(user2);    
  18.         String stuTemp "{"studentName":"qqq2","studentId":3335}";   
  19.         Student user4 gson.fromJson(stuTemp, Student.class);    
  20.         System.out.println(user4);    
  21.   
  22.         //3、对象List转string   
  23.         List testBeanList new ArrayList();    
  24.         Student testBean new Student();    
  25.         testBean.setStudentId(555);   
  26.         testBean.setStudentName("552");   
  27.         testBeanList.add(testBean);    
  28.            
  29.         //Gson gsonList new Gson();    
  30.         Type type new TypeToken>(){}.getType();  //指定集合对象属性   
  31.         String beanListToJson gson.toJson(testBeanList, type);    
  32.         System.out.println(beanListToJson); //[{"studentName":"552","studentId":555}]    
  33.   
  34.         //集合string转对象list   
  35.         List testBeanListFromJson gson.fromJson(beanListToJson, type);    
  36.         System.out.println(testBeanListFromJson); //[555:552]   
  37.   
  38.         //4、集合如果不指定类型 默认为String   
  39.         List testList new ArrayList();    
  40.         testList.add("first");    
  41.         testList.add("second");    
  42.         String listToJson gson.toJson(testList);    
  43.         System.out.println(listToJson); //["first","second"]    
  44.            
  45.         //5、集合字符串转回来需要指定类型   
  46.         List testList2 (List) gson.fromJson(listToJson,    
  47.           new TypeToken>()    
  48.           }.getType());    
  49.         System.out.println(testList2);    
  50.   
  51.         //6、 将HashMap字符串转换为 JSON    
  52.         Map testMap new HashMap();    
  53.         testMap.put("id", "id.first");    
  54.         testMap.put("name", "name.second");    
  55.         String mapToJson gson.toJson(testMap);    
  56.         System.out.println(mapToJson); //{"id":"id.first","name":"name.second"}   
  57.         //7、stringMap转对象   
  58.         Map userMap2 (Map) gson.fromJson(mapToJson,    
  59.                 new TypeToken>()    
  60.             }.getType());    
  61.         System.out.println(userMap2); //{id=id.first, name=name.second}    
  62.   
  63.         //8、对象含有普通对象、集合、map情况   
  64.         Student user1 new Student();    
  65.         user1.setStudentId(1001);    
  66.         user1.setStudentName("张三");    
  67.            
  68.         Student user3 new Student();    
  69.         user3.setStudentId(1002);    
  70.         user3.setStudentName("李四");    
  71.            
  72.         Map userMap new HashMap();    
  73.         userMap.put("user1", user1);    
  74.         userMap.put("user3", user3);    
  75.            
  76.         List userList new ArrayList();    
  77.         userList.add(user1);    
  78.         userList.add(user3);    
  79.            
  80.         Teacher groupBean new Teacher();    
  81.         groupBean.setStudent(user1);   
  82.         groupBean.setStus(userList);   
  83.         groupBean.setMap((HashMap)userMap);   
  84.         //groupBean.setUserList(userList);    
  85.         Gson gsonGroup new Gson();    
  86.   
  87.         String sGroupBean gsonGroup.toJson(groupBean, new TypeToken()    
  88.             }.getType());    
  89.         System.out.println(sGroupBean);    
  90.           
//转换器
        GsonBuilder builder = new GsonBuilder(); 
        // 不转换没有 @Expose 注解的字段 
        builder.excludeFieldsWithoutExposeAnnotation();
        Gson gson = builder.create(); 
        
        //1、对象转string
        Student stu = new Student();
        stu.setStudentId(333);
        stu.setStudentName("qqq");
        String stuStr = gson.toJson(stu);
        System.out.println(stuStr); //{"studentName":"qqq","studentId":333}
        
        
        //2、string转对象
        Student user2 = gson.fromJson(stuStr, Student.class); 
        System.out.println(user2); 
        String stuTemp = "{"studentName":"qqq2","studentId":3335}";
        Student user4 = gson.fromJson(stuTemp, Student.class); 
        System.out.println(user4); 

        //3、对象List转string
        List testBeanList = new ArrayList(); 
        Student testBean = new Student(); 
        testBean.setStudentId(555);
        testBean.setStudentName("552");
        testBeanList.add(testBean); 
        
        //Gson gsonList = new Gson(); 
        Type type = new TypeToken>(){}.getType();  //指定集合对象属性
        String beanListToJson = gson.toJson(testBeanList, type); 
        System.out.println(beanListToJson); //[{"studentName":"552","studentId":555}] 

        //集合string转对象list
        List testBeanListFromJson = gson.fromJson(beanListToJson, type); 
        System.out.println(testBeanListFromJson); //[555:552]

        //4、集合如果不指定类型 默认为String
        List testList = new ArrayList(); 
        testList.add("first"); 
        testList.add("second"); 
        String listToJson = gson.toJson(testList); 
        System.out.println(listToJson); //["first","second"] 
        
        //5、集合字符串转回来需要指定类型
        List testList2 = (List) gson.fromJson(listToJson, 
          new TypeToken>() { 
          }.getType()); 
        System.out.println(testList2); 

        //6、 将HashMap字符串转换为 JSON 
        Map testMap = new HashMap(); 
        testMap.put("id", "id.first"); 
        testMap.put("name", "name.second"); 
        String mapToJson = gson.toJson(testMap); 
        System.out.println(mapToJson); //{"id":"id.first","name":"name.second"}
        //7、stringMap转对象
        Map userMap2 = (Map) gson.fromJson(mapToJson, 
                        new TypeToken>() { }.getType()); System.out.println(userMap2); //{id=id.first, name=name.second} //8、对象含有普通对象、集合、map情况 Student user1 = new Student(); user1.setStudentId(1001); user1.setStudentName("张三"); Student user3 = new Student(); user3.setStudentId(1002); user3.setStudentName("李四"); Map userMap = new HashMap(); userMap.put("user1", user1); userMap.put("user3", user3); List userList = new ArrayList(); userList.add(user1); userList.add(user3); Teacher groupBean = new Teacher(); groupBean.setStudent(user1); groupBean.setStus(userList); groupBean.setMap((HashMap)userMap); //groupBean.setUserList(userList); Gson gsonGroup = new Gson(); String sGroupBean = gsonGroup.toJson(groupBean, new TypeToken() { }.getType()); System.out.println(sGroupBean); 
Java代码 复制代码  收藏代码gson使用在android使用例子
  1. //9、复杂对象string转对象   
  2. Teacher groupBean2 (Teacher) gson.fromJson(sGroupBean,    
  3.    new TypeToken()    
  4.    }.getType());    
  5. System.out.println(groupBean2);   
        //9、复杂对象string转对象
        Teacher groupBean2 = (Teacher) gson.fromJson(sGroupBean, 
                  new TypeToken() { 
                  }.getType()); 
        System.out.println(groupBean2); 

 

Java代码 复制代码  收藏代码gson使用在android使用例子
  1. package com.andtools;   
  2.   
  3. import com.google.gson.annotations.Expose;   
  4.   
  5. public class Student {   
  6.     @Expose  
  7.     private String studentName;   
  8.     @Expose  
  9.     private int studentId;   
  10.     public Student(){}   
  11.     public Student(int studentId,String studentName){   
  12.         this.setStudentId(studentId);   
  13.         this.setStudentName(studentName);   
  14.     }   
  15.     public String toString(){   
  16.         return this.getStudentId() ":" this.getStudentName();   
  17.     }   
  18.     public String getStudentName() {   
  19.         return studentName;   
  20.     }   
  21.     public void setStudentName(String studentName) {   
  22.         this.studentName studentName;   
  23.     }   
  24.     public int getStudentId() {   
  25.         return studentId;   
  26.     }   
  27.     public void setStudentId(int studentId) {   
  28.         this.studentId studentId;   
  29.     }   
  30.        
  31.  
package com.andtools;

import com.google.gson.annotations.Expose;

public class Student {
        @Expose
        private String studentName;
        @Expose
        private int studentId;
        public Student(){}
        public Student(int studentId,String studentName){
                this.setStudentId(studentId);
                this.setStudentName(studentName);
        }
        public String toString(){
                return this.getStudentId() + ":" + this.getStudentName();
        }
        public String getStudentName() {
                return studentName;
        }
        public void setStudentName(String studentName) {
                this.studentName = studentName;
        }
        public int getStudentId() {
                return studentId;
        }
        public void setStudentId(int studentId) {
                this.studentId = studentId;
        }
        
}

 

Java代码 复制代码  收藏代码gson使用在android使用例子
  1. package com.andtools;   
  2.   
  3. import java.util.HashMap;   
  4. import java.util.List;   
  5. import java.util.Map;   
  6.   
  7. import com.google.gson.annotations.Expose;   
  8.   
  9. public class Teacher {   
  10.     @Expose  
  11.     private int id;   
  12.     @Expose  
  13.     private String name;   
  14.     @Expose  
  15.     private int age;   
  16.     @Expose  
  17.     private Student student;   
  18.     @Expose  
  19.     private List stus;   
  20.     @Expose  
  21.     private HashMap map;   
  22.     public String toString(){   
  23.         return this.getId()+":"+this.getName()+":"+this.getAge() +":"+ this.getStudent().toString() ":" this.getStus() ":" this.getMap();   
  24.     }   
  25.     public int getId() {   
  26.         return id;   
  27.     }   
  28.     public void setId(int id) {   
  29.         this.id id;   
  30.     }   
  31.     public String getName() {   
  32.         return name;   
  33.     }   
  34.     public void setName(String name) {   
  35.         this.name name;   
  36.     }   
  37.     public int getAge() {   
  38.         return age;   
  39.     }   
  40.     public void setAge(int age) {   
  41.         this.age age;   
  42.     }   
  43.     public Student getStudent() {   
  44.         return student;   
  45.     }   
  46.     public void setStudent(Student student) {   
  47.         this.student student;   
  48.     }   
  49.     public List getStus() {   
  50.         return stus;   
  51.     }   
  52.     public void setStus(List stus) {   
  53.         this.stus stus;   
  54.     }   
  55.     public HashMap getMap() {   
  56.         return map;   
  57.     }   
  58.     public void setMap(HashMap map) {   
  59.         this.map map;   
  60.     }   
  61.        
  62.  
package com.andtools;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.google.gson.annotations.Expose;

public class Teacher {
        @Expose
        private int id;
        @Expose
        private String name;
        @Expose
        private int age;
        @Expose
        private Student student;
        @Expose
        private List stus;
        @Expose
        private HashMap map;
        public String toString(){
                return this.getId()+":"+this.getName()+":"+this.getAge() +":"+ this.getStudent().toString() + ":" + this.getStus() + ":" + this.getMap();
        }
        public int getId() {
                return id;
        }
        public void setId(int id) {
                this.id = id;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
        public Student getStudent() {
                return student;
        }
        public void setStudent(Student student) {
                this.student = student;
        }
        public List getStus() {
                return stus;
        }
        public void setStus(List stus) {
                this.stus = stus;
        }
        public HashMap getMap() {
                return map;
        }
        public void setMap(HashMap map) {
                this.map = map;
        }
        
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值