• Gson简单用法


    一、在项目开发中json格式的数据使用非常广泛非常流行,他是以键值对的形式表示的,类似于Map<K,V>结构;Gson和Json都是解析json数据的工具包,它们的用法非常相似;比较一下Gson和Json两个工具包的优缺点,个人经验觉得Gson比Json要好使,看下面:

    (1)Json包要依赖很多的第三包,共有6个;

           1.commons-lang.jar

          2.commons-beanutils.jar

          3.commons-collections.jar

          4.commons-logging.jar 

          5.ezmorph.jar

          6.json-lib-2.2.2-jdk15.jar

    (2)Json包不能直接解析某些特殊的数据;

        1)比如一些数据类型它不能解析:BigDecimal 等;

        2)有些注解会影响到它对数据的正确解析;

    (3)Gson包它只有以单独的jar包,不依赖任何第三方包;

    二、下面介绍一下的Gson的简单用法,在java开发中一般我们会将一个对象或将List转换为Json格式响应到前台,首先要导入Gson开发包,可以去网上下载,网址:

      http://code.google.com/p/google-gson/downloads/list

    1.将一个对象转换为json字符串

    GsonBuilder builder = new GsonBuilder();
    builder.setDateFormat("yyyy-MM-dd HH:mm:ss"); //设置转换日期的模式,根据自己的需求设置
    Gson gson = builder.create();
    String jsonStr = gson.toJson(new Person(2013,"张三",new Date()));
    System.out.println(jsonStr);

    执行结果:{"id":2013,"name":"张三","birth":"2013-12-14 15:30:59"}

    2.将一个List直接转换为json数组

    GsonBuilder builder = new GsonBuilder();
    builder.setDateFormat("yyyy-MM-dd HH:mm:ss"); //设置转换日期的模式,根据自己的需求设置
    Gson gson = builder.create();
    List<Person> list = new ArrayList<Person>();
    for(int i=0;i<3;i++){
        list.add(new Person(2013+i,"name"+i,new Date()));
    }
    String jsonStr = gson.toJson(list);
    System.out.println(jsonStr);

    运行结果:

    [

      {"id":2013,"name":"name0","birth":"2013-12-14 15:37:12"},

      {"id":2014,"name":"name1","birth":"2013-12-14 15:37:12"},

      {"id":2015,"name":"name2","birth":"2013-12-14 15:37:12"}

    ]

  • 相关阅读:
    多线程下单例模式:懒加载(延迟加载)和即时加载
    Java 线程同步
    java 多线程之wait(),notify,notifyAll(),yield()
    序列化和反序列化及线程实现方式
    错题解析
    错题解析
    考试:错题总结
    测试:错题总结
    hashCode与equals的区别与联系
    @Not
  • 原文地址:https://www.cnblogs.com/zhougaojun/p/Gson.html
Copyright © 2020-2023  润新知