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

问题

数据库数据:
image
前端得到的数据:
image
出现了Long类型的数据出现精度丢失问题!

原因

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

解决方法

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

image

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

结果展示

image

posted @ 2024-09-09 13:54  鱼摆摆不摆  阅读(36)  评论(0编辑  收藏  举报