zoukankan      html  css  js  c++  java
  • 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"}

    ]

  • 相关阅读:
    各种知识点
    链表
    滑动窗口
    数组

    【转】无重复字符的最长子串
    【转】荷兰国旗问题 三指针排序
    【转】回溯思想团灭排列、组合、子集问题
    【LeetCode】45. 跳跃游戏 II
    动态分配内存初始化二维数组
  • 原文地址:https://www.cnblogs.com/zhougaojun/p/Gson.html
Copyright © 2011-2022 走看看