java 序列化,反序列化工具

常见的有如下几种:

1 Gson

最初是Google公司为了满足内部需求开发的一款json解析工具。开源,无依赖,不需要额外的jar包。功能齐全,性能较fastjson稍差。

2 fastjson

是Alibaba开发的一款java语言编写的高性能json解析工具。开源,无依赖,不需要额外的jar包。性能提升很多,超过其它json解析工具。但功能上有缺陷,存在漏洞,且更新不及时。

3 jackson

jackson需要依赖少量的jar包,但功能和性能都较好。并且社区活跃,更新速度较快。(目前所在公司正逐步用jackson替换掉fastjson)

4 java对象之间转换,class名称不同,但是字段名相同,可以使用Spring的BeanUtils工具来转换,效率较高。

UserAwardData data = awardService.getUserAward(userId);
UserProfileAward award = new UserProfileAward();
BeanUtils.copyProperties(data,award);

5 json字符串中的字段与java对象的字段不一致,若想让它们互相映射,可采用jackson注解的方式设置映射字段。

@JsonProperty(value = "item_id")
private Integer id;