当前位置:   article > 正文

fastjson的parseObject方法由于new Featrue[]{Featrue.InitStringFieldAsEmpty}参数导致解析实体对象很多字段值为空的解决办法_feature.initstringfieldasempty

feature.initstringfieldasempty

在自己项目中引入一个jar包文件,这个jar包文件中有一controller类,里面有一段代码如下所示:

DealEntity dealEntity= (DealEntity )JSON.parseObject(req.getParameter("dealEntity "),DealEntity.class,new Featrue[]{Featrue.InitStringFieldAsEmpty});
  • 1

通过执行断点发现,前端传的实体参数没有问题,到后端解析后这个实体类里的很多字段值就变空了。

经过排查发现,没有new Featrue[]{Featrue.InitStringFieldAsEmpty}这个参数时解析就正常,一旦有这个参数就出现问题。后来查看到这个jar包里文件所引用的fastjson版本为1.2.9,而我们自己项目pom文件中所引用的fastjson版本为1.2.62。

至此,归结出了两种解决方法:1、修改jar包里的源码并重新打jar包引入项目中;2、把自己项目中的fastjson版本改为与jar包里的fastjson版本一致。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/288640
推荐阅读
相关标签
  

闽ICP备14008679号