zoukankan      html  css  js  c++  java
  • Java之Json

    使用gson,我们可以非常轻松的实现数据对象和json对象的相互转化,其中我们最常用的就是两个方法,一个是fromJSON(),将json对象转换成我们需要的数据对象,另一个是toJSON(),这个就是将我们的数据对象转换成json对象。下面我们也通过一个综合的例子来看看gson的使用方法:

    gson(http://code.google.com/p/google-gson/)

    public class JsonService {
        public Person getPerson()
        {
            Person person = new Person(1, "xiaoluo", "广州");
            return person;
        }
        
        public List<Person> getPersons()
        {
            List<Person> persons = new ArrayList<Person>();
            Person person = new Person(1, "xiaoluo", "广州");
            Person person2 = new Person(2, "android", "上海");
            persons.add(person);
            persons.add(person2);
            return persons;
        }
        
        public List<String> getString()
        {
            List<String> list = new ArrayList<String>();
            list.add("广州");
            list.add("上海");
            list.add("北京");
            return list;
        }
        
        public List<Map<String, String>> getMapList()
        {
            List<Map<String, String>> list = new ArrayList<Map<String, String>>();
            Map<String, String> map1 = new HashMap<String, String>();
            map1.put("id", "001");
            map1.put("name", "xiaoluo");
            map1.put("age", "20");
            Map<String, String> map2 = new HashMap<String, String>();
            map2.put("id", "002");
            map2.put("name", "android");
            map2.put("age", "33");
            list.add(map1);
            list.add(map2);
            return list;
        }
    }
    public class Person {
            private int id;
            private String name;
            private String address;
    
            public Person()
            {
            }
    
            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 String getAddress()
            {
                return address;
            }
    
            public void setAddress(String address)
            {
                this.address = address;
            }
    
            public Person(int id, String name, String address)
            {
                super();
                this.id = id;
                this.name = name;
                this.address = address;
            }
    
            @Override
            public String toString()
            {
                return "Person [id=" + id + ", name=" + name + ", address=" + address
                        + "]";
            }
    }
    public class test {
        public void name() {
            
        }
        
        public static void main(String[] args) {
             //Person person = new Person(1, "xiaoluo", "广州");
                //    将Person对象转换成一个json类型的字符串对象
                //String personString = JsonTools.getJsonString("person", person);
               // System.out.println(personString.toString());
             Gson gson = new Gson();
                JsonService jsonService = new JsonService();
                Person person = jsonService.getPerson();
                System.out.println("person: " + gson.toJson(person));
                //    对于Object类型,使用 fromJson(String, Class)方法来将Json对象转换成Java对象
                Person person2 = gson.fromJson(gson.toJson(person), Person.class);
                System.out.println(person2);
                System.out.println("------------------------------------------------");
                
                List<Person> persons = jsonService.getPersons();
                System.out.println("persons: " + gson.toJson(persons));
                /*
                 * 对于泛型对象,使用fromJson(String, Type)方法来将Json对象转换成对应的泛型对象
                 * new TypeToken<>(){}.getType()方法
                 */
                List<Person> persons2 = gson.fromJson(gson.toJson(persons), new TypeToken<List<Person>>(){}.getType());
                System.out.println(persons2);
                System.out.println("------------------------------------------------");
                
                List<String> list = jsonService.getString();
                System.out.println("String---->" + gson.toJson(list));
                List<String> list2 = gson.fromJson(gson.toJson(list), new TypeToken<List<String>>(){}.getType());
                System.out.println("list2---->" + list2);
                System.out.println("------------------------------------------------");
                
                List<Map<String, String>> listMap = jsonService.getMapList();
                System.out.println("Map---->" + gson.toJson(listMap));
                List<Map<String, String>> listMap2 = gson.fromJson(gson.toJson(listMap), new TypeToken<List<Map<String, String>>>(){}.getType());
                System.out.println("listMap2---->" + listMap2);
                System.out.println("------------------------------------------------");
             
        }
    }
  • 相关阅读:
    网络管理和nmcli命令的使用——网络接口配置-bonding实验步骤
    raid组合优缺点介绍和创建LVM实验个人笔记
    磁盘分区就是这么简单,电脑小白都能看懂的磁盘分区教程!
    C盘优化之桌面移动法,拯救你爆满的C盘!
    电脑软件打开也有讲究,电脑软件打开方式总结!
    电脑使用建议大全,注意这些细节可以让你的电脑更好用!
    CentOS服务器apache绑定多个域名的方法
    CentOS 7使用yum安装PHP5.6
    PhpMyAdmin 配置文件现在需要一个短语密码的解决方法
    CentOs 7.*中配置安装phpMyAdmin的完整步骤记录
  • 原文地址:https://www.cnblogs.com/ilooking/p/4224957.html
Copyright © 2011-2022 走看看