后端把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类型的数据传给前端,前端可能会出现精度丢失的情况,以及解决方案...相关推荐

  1. Java后端返回Long类型数据与前端展示不一致(精度丢失)

    问题描述 接口查询数据返回,有一个Long类型字段,postman返回与数据库一致(= 63354019632316416),swagger返回不一致(= 63354019632316420),chr ...

  2. Oracle数据同步接口中,对于NUMBER、DATE类型数据,从resultSet中直接获取造成精度丢失的解决方案

    通过JDBC获取ORACLE数据库数据时,返回值统一都是ResultSet对象,就像存储过程中的游标,一行一行的读取数据.对于NUMBER和DATE类型的数据,如果java代码中直接用resultSe ...

  3. Spark SQL读取Oracle的number类型的数据时精度丢失问题

    Spark SQL读取Oracle的number类型的数据时精度丢失问题 在程序开发中,使用到了sparkSQL读取Oracle数据库,发现当sparkSQL读取Oracle的number类型字段时, ...

  4. 【Android RTMP】x264 图像数据编码 ( Camera 图像数据采集 | NV21 图像数据传到 Native 处理 | JNI 传输字节数组 | 局部引用变量处理 | 线程互斥 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 数据传入 Native 层 二. jbyte * 数据类型 ( Java 中的 byte[] 数组传入 JNI 处理方式 ) 三. 局部引用处理 四 ...

  5. python echarts mysql python_Django中从mysql数据库中获取数据传到echarts方式

    尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; ( ...

  6. python django mysql结果获取_Django中从mysql数据库中获取数据传到echarts方式

    尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; ( ...

  7. ADAMoracle预言机将数据传至链上实现区块链落地应用

    ADAMoracle预言机将数据传至链上实现区块链落地应用. 现在近乎所有的公链都是一个封闭的系统,它只能读取链上的数据,无法感知真实的世界.也就是说,链下真实世界的数据无法传输至链上,比如天气数据. ...

  8. 如何将数据传至服务器系统,怎样将数据传至云服务器

    怎样将数据传至云服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别安装数据 ...

  9. echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...

    关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...

最新文章

  1. 后端开挂:3行代码 = 8个接口
  2. 宝塔面板使用阿里云ssl证书
  3. k8s部署nacos集群:3个pod、连接外部mysql读写分离集群
  4. 百度安全 TrustZone SDK 正式成为 OP-TEE 官方推荐 Rust 开发环境
  5. python将argv作为参数_在jupyter / ipython notebook中将命令行参数传递给argv
  6. 微信端php 开发技术要求,微信第三方平台开发详解——PHP版
  7. webgis期末考试试题_WebGIS考试参考试题
  8. html 自适应 音乐播放器,使用HTML5+Boostrap打造简单的音乐播放器
  9. android 微信搜索功能,[多图]等了N年的功能来了 Android微信8.0.3新版体验
  10. Android客户端上开发人人客户端系列教程
  11. TF卡数据丢失?如何快速恢复?
  12. 远程服务器 检索{00024500-0000-0000-C000-000000000046}组件失败 80080005 服务器运行失败 解决方案
  13. HDU5755 Gambler Bo
  14. RabbitMQ 工作队列模型(任务队列)
  15. Excel - 如何在 Excel 表格的一个单元格内换行?
  16. 旷视2022:以产品之能加速行业发展,以生态之力开拓AIoT蓝海
  17. loadrunner没有 demo_scenario.lrs
  18. Python 超简单格式化代码,仅需一行命令
  19. 超级签名与企业签名有什么区别,开发者想要做签名分发需要注意什么?怎么防止入坑(当然入坑是必须的)
  20. 宝塔接php支付,支付宝免签约辅助AlipaySupervisor宝塔面板使用教程

热门文章

  1. C#中全局处理异常方式
  2. 1、Linux命令随笔
  3. Struts2框架使用(十)之struts2的上传和下载
  4. PPPOE拨号上网流程及密码窃取具体实现
  5. array_walk与array_map的区别
  6. 如何用chrome扩展将网页变成黑底白字,用以保护视力
  7. 字符集(CHARACTER SET)和校对集(COLLATE)
  8. OC2_点语法(属性关键字)
  9. 判断两个树是否互相镜像
  10. 用户体验设计的五个原则(转)