zoukankan      html  css  js  c++  java
  • Gson转换器 android

    引入gson包
    
    //Gson解析.封装服务器返回json结果
       Gson gson = new Gson();
    
    //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}  
              
              
    //    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);   
      
    //2、对象List转string  
            List<Student> testBeanList = new ArrayList<Student>();   
            Student testBean = new Student();   
            testBean.setStudentId(555);  
            testBean.setStudentName("552");  
            testBeanList.add(testBean);   
            //Gson gsonList = new Gson();   
            Type type = new TypeToken<List<Student>>(){}.getType();  //指定集合对象属性  
            String beanListToJson = gson.toJson(testBeanList, type);   
            System.out.println(beanListToJson); //[{"studentName":"552","studentId":555}]   
      
          //集合string转对象list  
            List<Student> testBeanListFromJson = gson.fromJson(beanListToJson, type);   
            System.out.println(testBeanListFromJson); //[555:552]  
      
    //3、集合如果不指定类型 默认为String  
            List<String> testList = new ArrayList<String>();   
            testList.add("first");   
            testList.add("second");   
            String listToJson = gson.toJson(testList);   
            System.out.println(listToJson); //["first","second"]   
              
          //集合字符串转回来需要指定类型  
            List<String> testList2 = (List<String>) gson.fromJson(listToJson,   
              new TypeToken<List<String>>() {   
              }.getType());   
            System.out.println(testList2);   
      
    //4、 将HashMap字符串转换为 JSON   
            Map<String, String> testMap = new HashMap<String, String>();   
            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"}  
    
            //HashMap转对象  
            Map<String, String> userMap2 = (Map<String, String>) gson.fromJson(mapToJson,   
                    new TypeToken<Map<String, String>>() {   
                }.getType());   
            System.out.println(userMap2); //{id=id.first, name=name.second}   
      
    //5、对象含有普通对象、集合、map情况  
            Student user1 = new Student();   
            user1.setStudentId(1001);   
            user1.setStudentName("张三");   
              
            Student user3 = new Student();   
            user3.setStudentId(1002);   
            user3.setStudentName("李四");   
              
            Map<String, Student> userMap = new HashMap<String, Student>();   
            userMap.put("user1", user1);   
            userMap.put("user3", user3);   
              
            List<Student> userList = new ArrayList<Student>();   
            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<Teacher>() {   
                }.getType());   
            System.out.println(sGroupBean);   
            /*{"stus":[{"studentName":"张三","studentId":1001},{"studentName":"李四","studentId":1002}],"student":{"studentName":"张三","studentId":1001},"map":{"user3":{"studentName":"李四","studentId":1002},"user1":{"studentName":"张三","studentId":1001}},"id":0,"age":0}*/ 
    
         //复杂对象string转对象  
       Teacher groupBean2 = (Teacher) gson.fromJson(sGroupBean,   
       new TypeToken<Teacher>() {   
       }.getType());   
      System.out.println(groupBean2);  
  • 相关阅读:
    JS_判断浏览器.
    JQ_使用AJAX获取SINA股票代码
    Struts2中的OGNL详解
    CSS原理与CSS经验分享
    Struts 与 Velocity 的集成
    30条HTML代码编写指南 for入门者
    OGNL使用小结
    Visual C++ 6.0 插件系列介绍
    C语言编译过程总结详解
    Web.xml配置详解
  • 原文地址:https://www.cnblogs.com/lvk618/p/4123337.html
Copyright © 2011-2022 走看看