解决Java Long类型转为Json后,前台Js调用精度丢失问题

文章讲述了当实体类Long类型的字段值超出前端显示范围时,如何通过局部设置和全局配置SpringMVCJson中的JacksonObjectMapper解决JSON序列化导致的精度丢失问题。方法包括使用`@JsonFormat`和自定义`SimpleModule`进行配置。

问题描述:
        当实体类中的字段为Long类型,且值超过前端js显示的长度范围时会导致前端回显错误。
        后端JSON字符串{“id”: 1540951455810646018, “name”: “张三”, …},前端通过data.id获取id时,id的值变成了1540951455810646000,id的位数精度缺失了。
 

方法1,局部设置,pojo类的字段添加以下属性,
@JsonFormat 用来表示json序列化的一种格式或者类型,shap表示序列化后的一种类型

@JsonFormat(shape = JsonFormat.Shape.STRING)

方法2,全局设置,推荐 

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.boot.jackson.JsonComponent;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值