gson

最近的项目,接口传输格式用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串,以下是例子:
String json = "[1,2,3,4,5]";
Type type= new TypeToken<Collection<Integer>>(){}.getType();
Collection<Integer> ints = gson.fromJson(json,type);

String json = "{\"field1\":\"value1\",\"field2\":\"value2\",\"field3\",\"value3\"}";
Type type= new TypeToken<MyObject>(){}.getType();
MyObject myObject = gson.fromJson(json,type);





你可能感兴趣的:(json,gson,deserialization)