常見的有如下幾種:
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;