1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Java后端返回Long类型数据与前端展示不一致(精度丢失)

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

时间:2019-07-03 01:57:52

相关推荐

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

问题描述

接口查询数据返回,有一个Long类型字段,postman返回与数据库一致(= 63354019632316416),swagger返回不一致(= 63354019632316420),chrome查看返回数据也不一致(= 63354019632316420)。

原因

Java中Long类型可以表示的最大值是2 ^63-1,而JS的基础类型Number可以表示的最大值是 2 ^53。所以后端返回的数据大于Number能表示的最大值时无法正确解析,出现精度丢失的问题。

解决方案

1、将返回给前端的Long类型数据改为String;

2、在Long类型字段加上注解 @JsonSerialize(using = ToStringSerializer.class) 或者 @JsonFormat(shape = Shape.STRING)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。