前端解决Long类型精度丢失的问题
问题
数据库数据:
前端得到的数据:
出现了Long类型的数据出现精度丢失问题!
原因
JS中Long最大值:9007199254740992
JAVA中Long最大值:9223372036854775807
雪花算法id外加数据范围的不同导致地前后端不匹配
解决方法
把Long类型转为String再传给前端;
这里用的方法是通过 Jackson 序列化的注解@JsonSerialize(using = ToStringSerializer.class)
,将 Java 对象序列化为 JSON 时,将某个字段强制转换为字符串类型输出。
这个注解常用于对某些数据类型(如 Long 或 BigInteger)进行处理,特别是在前端(如 JavaScript)可能无法正确处理大整数时,避免精度丢失的问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了