赞
踩
在自己项目中引入一个jar包文件,这个jar包文件中有一controller类,里面有一段代码如下所示:
DealEntity dealEntity= (DealEntity )JSON.parseObject(req.getParameter("dealEntity "),DealEntity.class,new Featrue[]{Featrue.InitStringFieldAsEmpty});
通过执行断点发现,前端传的实体参数没有问题,到后端解析后这个实体类里的很多字段值就变空了。
经过排查发现,没有new Featrue[]{Featrue.InitStringFieldAsEmpty}这个参数时解析就正常,一旦有这个参数就出现问题。后来查看到这个jar包里文件所引用的fastjson版本为1.2.9,而我们自己项目pom文件中所引用的fastjson版本为1.2.62。
至此,归结出了两种解决方法:1、修改jar包里的源码并重新打jar包引入项目中;2、把自己项目中的fastjson版本改为与jar包里的fastjson版本一致。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。