最近做项目遇到一个问题,就是bean转json之后,由于对象中存在日期Date类型的属性,在转回去的时候出现了错误在这里记录一下:
先上代码:

这里我写了两个类 A,B,然后各自赋值构建了一个对象,在a对象属性中给了一个日期类型,用gson类toJson之后,再用fastjson转为bean时报错如下:

但是用gson类自己的fromJson转回去就是正常的:

反过来,我用fastjson转json,然后用gson转回来报这个错:

然后用fastjson自己的parseObject()就能正常地转回来:

所以,有些情况并不完全像网上说的那种,将Gson和fastjson一起混用,gson的toJson()在正确性上面确实要高于fastjson,fastjson的parseObject()在性能上面也确实要好过gson的fromJson(),但是像这种情况需要来回转的时候,就不能眼睛闭着的去使用Gson的toJson()和fastjson的parseObejct(),就需要包统一了。要么都使用Gson,要么都使用fastjson。
json和bean之间做转换,在Gson和fastjson之间如何做选择
最新推荐文章于 2022-02-11 14:07:46 发布
在Java项目中,使用Gson和Fastjson进行对象与JSON字符串互相转换时,遇到Date类型转换错误。当Gson的toJson转换后的JSON通过Fastjson的parseObject解析时,以及Fastjson转换后的JSON通过Gson的fromJson还原时,出现不兼容问题。解决方案是保持转换工具的一致性,避免混用。对于特定场景,Gson的toJson在正确性上表现更好,而Fastjson的parseObject在性能上有优势。

1110

被折叠的 条评论
为什么被折叠?



