Long类型数据过长,传到前端丢失精度

奇怪问题年年有,今年特别多
Long类型数据过长,传到前端丢失精度_第1张图片
本项目使用了雪花算法取唯一标识id(19位),postman调接口id一个值,传到前端就变成另一个值,导致后面根据id去查询数据,都是空!!!

原因

前端使用JSON.parse()方法的时候把后端返回的json字符串转成Number而导致超出浏览器限制范围(chrome是17位就开始作妖,18就补0)

解决

在Long类型字段上增加 @JsonSerialize(using = ToStringSerializer.class)

    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

你可能感兴趣的:(杂项,java,json)