前端解决Long类型精度丢失的问题

问题

数据库数据:
图片[1]-前端解决Long类型精度丢失的问题-后端开发牛翰社区-编程开发-牛翰网
前端得到的数据:
图片[2]-前端解决Long类型精度丢失的问题-后端开发牛翰社区-编程开发-牛翰网
出现了Long类型的数据出现精度丢失问题!

原因

JS中Long最大值:9007199254740992
JAVA中Long最大值:9223372036854775807
雪花算法id外加数据范围的不同导致地前后端不匹配

解决方法

把Long类型转为String再传给前端;
这里用的方法是通过 Jackson 序列化的注解@JsonSerialize(using = ToStringSerializer.class),将 Java 对象序列化为 JSON 时,将某个字段强制转换为字符串类型输出。

这个注解常用于对某些数据类型(如 Long 或 BigInteger)进行处理,特别是在前端(如 JavaScript)可能无法正确处理大整数时,避免精度丢失的问题。

结果展示

请登录后发表评论

    没有回复内容