天天看点

gson 数组类型数据TypeToken

转载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代码  

gson 数组类型数据TypeToken

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

type type= new typetoken<collection<integer>>(){}.gettype();  

collection<integer> ints = gson.fromjson(json,type);  

gson 数组类型数据TypeToken

string json = "{\"field1\":\"value1\",\"field2\":\"value2\",\"field3\",\"value3\"}";  

type type= new typetoken<myobject>(){}.gettype();  

myobject myobject = gson.fromjson(json,type);