常见的有如下几种:
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;