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"}

]

原文地址:https://www.cnblogs.com/zhougaojun/p/Gson.html