前言:
之前自己在实现某管理平台的前端页面时就遇到过这个问题,如今在使用其他平台时发现数据展示丢失精度。于是决定将这个问题记录下来。
在重新搜索该问题的解决方法时,搜到这篇博客。其中表示java前后端交互的过程中,定义的Long字段超过16位之后,js发生截断,从而不能跟后台数据进行匹配。
处理方法如下:
- 把long型字段转成string进行处理。(可以使用json注解转换或者springmvc统一拦截处理)
- 修改数据库以及java实体类,数据库使用varchar,实体使用string,避免截断问题。
在大多数情况下,第一种是可取的,第二种,可行,但是可能修改起来工作量大。
本人在项目中使用了springmvc+fastjson进行统一处理,处理方法如下:
继承fastjson中的ValueFilter
spring统一配置中添加
如果你也遇到一样的困惑,记得将Long型转为String类型进行展示喔~
每天进步一点点。