fastjson 1.2.54 bean中字段定义为integer得字段使用fastJSON传入小数,会四舍五入自动解析为integer

stszievb  于 2021-11-27  发布在  Java
关注(0)|答案(0)|浏览(268)

FastJsonHttpMessageConverter中,处理接口传入的参数:
bean中定义state为Integer
接口传入小数 1.1

此时使用fastJSON序列化传入参数,会自动将小数四舍五入变为整数。

如state=1.1 -> state=1

简化代码如下所示

String tmpString = "{\"roleName\": \"ullamcodolo3reest\",\"state\": 1.1,\"roleDetail\": \"ut ex\"}";
CommonUtil.makeInfoLog(JSONObject.toJavaObject(JSON.parseObject(tmpString), Role.class));

打印结果:{"roleDetail":"ut ex","roleName":"ullamcodolo3reest","state":1}

这里应该引入一个严格模式,严格模式下应当抛出异常,或者可让使用者选择使用四舍五入还是抛出异常

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题