后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况,以及解决方案...
后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况。例如:201511200001725439这样一个Long类型的整数,传给前端后会变成201511200001725440。
解决方法:
方法一:在后台将这个Long类型的字段转换成String类型的,风险比较大。
方法二:使用fastjson的提供的注解,@JSONField(serializeUsing= ToStringSerializer.class)。
spirngboot 的解决方案:注意是加在要处理的字段上
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;@JsonSerialize(using = ToStringSerializer.class)
备注:
fastjson在com.alibaba.fastjson.serializer包下面提供了多种数据类型转换的注解。
自己也可以拓展这些注解,通过实现ObjectSerializer接口来完成。
json转换需要使用fastjson转换
ToStringSerializer的代码:
public class ToStringSerializer implements ObjectSerializer {public static final ToStringSerializer instance = new ToStringSerializer();@Overridepublic void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType,int features) throws IOException {SerializeWriter out = serializer.out;if (object == null) {out.writeNull();return;}String strVal = object.toString();out.writeString(strVal);}}
转载于:https://www.cnblogs.com/azhqiang/p/9454170.html
后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况,以及解决方案...相关推荐
- Java后端返回Long类型数据与前端展示不一致(精度丢失)
问题描述 接口查询数据返回,有一个Long类型字段,postman返回与数据库一致(= 63354019632316416),swagger返回不一致(= 63354019632316420),chr ...
- Oracle数据同步接口中,对于NUMBER、DATE类型数据,从resultSet中直接获取造成精度丢失的解决方案
通过JDBC获取ORACLE数据库数据时,返回值统一都是ResultSet对象,就像存储过程中的游标,一行一行的读取数据.对于NUMBER和DATE类型的数据,如果java代码中直接用resultSe ...
- Spark SQL读取Oracle的number类型的数据时精度丢失问题
Spark SQL读取Oracle的number类型的数据时精度丢失问题 在程序开发中,使用到了sparkSQL读取Oracle数据库,发现当sparkSQL读取Oracle的number类型字段时, ...
- 【Android RTMP】x264 图像数据编码 ( Camera 图像数据采集 | NV21 图像数据传到 Native 处理 | JNI 传输字节数组 | 局部引用变量处理 | 线程互斥 )
文章目录 安卓直播推流专栏博客总结 一. NV21 数据传入 Native 层 二. jbyte * 数据类型 ( Java 中的 byte[] 数组传入 JNI 处理方式 ) 三. 局部引用处理 四 ...
- python echarts mysql python_Django中从mysql数据库中获取数据传到echarts方式
尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; ( ...
- python django mysql结果获取_Django中从mysql数据库中获取数据传到echarts方式
尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; ( ...
- ADAMoracle预言机将数据传至链上实现区块链落地应用
ADAMoracle预言机将数据传至链上实现区块链落地应用. 现在近乎所有的公链都是一个封闭的系统,它只能读取链上的数据,无法感知真实的世界.也就是说,链下真实世界的数据无法传输至链上,比如天气数据. ...
- 如何将数据传至服务器系统,怎样将数据传至云服务器
怎样将数据传至云服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别安装数据 ...
- echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...
关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...
最新文章
- 后端开挂:3行代码 = 8个接口
- 宝塔面板使用阿里云ssl证书
- k8s部署nacos集群:3个pod、连接外部mysql读写分离集群
- 百度安全 TrustZone SDK 正式成为 OP-TEE 官方推荐 Rust 开发环境
- python将argv作为参数_在jupyter / ipython notebook中将命令行参数传递给argv
- 微信端php 开发技术要求,微信第三方平台开发详解——PHP版
- webgis期末考试试题_WebGIS考试参考试题
- html 自适应 音乐播放器,使用HTML5+Boostrap打造简单的音乐播放器
- android 微信搜索功能,[多图]等了N年的功能来了 Android微信8.0.3新版体验
- Android客户端上开发人人客户端系列教程
- TF卡数据丢失?如何快速恢复?
- 远程服务器 检索{00024500-0000-0000-C000-000000000046}组件失败 80080005 服务器运行失败 解决方案
- HDU5755 Gambler Bo
- RabbitMQ 工作队列模型(任务队列)
- Excel - 如何在 Excel 表格的一个单元格内换行?
- 旷视2022:以产品之能加速行业发展,以生态之力开拓AIoT蓝海
- loadrunner没有 demo_scenario.lrs
- Python 超简单格式化代码,仅需一行命令
- 超级签名与企业签名有什么区别,开发者想要做签名分发需要注意什么?怎么防止入坑(当然入坑是必须的)
- 宝塔接php支付,支付宝免签约辅助AlipaySupervisor宝塔面板使用教程