gson

转载http://xiaoming2xiaohong.iteye.com/blog/1393392


    最近的项目,接口传输格式用JSON,试用了一下google的gson框架,感觉不错,目前最新的版本是2.0 

1、如果一个字段标记为transient,那么默认是被忽略的,在serialization和deserialization中都不会加进来 

2、当调用toJson()方法时,为null的字段,不会输出到json串里;当调用fromJson()方法时,如果VO里有,但是json串里没有,则字段会被设置成null;如果VO里没有,json串里有,那么该字段会被忽略 

3、内部类默认情况下没法deserialize,除非实现InstanceCreator 

4、调用fromJson()方法时,必须要指定VO的type,gson才能知道怎么deserialize传进来的json串,以下是例子: 

Java代码  

  1. String json = "[1,2,3,4,5]";  

  2. Type type= new TypeToken>(){}.getType();  

  3. Collection ints = gson.fromJson(json,type);  


Java代码  

  1. String json = "{\"field1\":\"value1\",\"field2\":\"value2\",\"field3\",\"value3\"}";  

  2. Type type= new TypeToken(){}.getType();  

  3. MyObject myObject = gson.fromJson(json,type);