1. 问题描述
数据库数据为bigint类型数据,后端以Long对数据进行接收,并以传入到前端,发现前端的数据与数据库中的不一致,原因是JS内置number类型的安全整数是53位,而Long为8个字节,即,64位,因此造成数据不一致。
2.解决方法:(使用@JsonSerialize(using = ToStringSerializer.class)注解)
在传入前端时将Long的数据换成String格式
但是这里有个小坑,被转换的字段必须是包装类类型(Long而非long),否则会转换失败。
3.示例:
1.注意引入依赖包的版本(与构建项目一致)
2.依赖
3.使用注解
代码:
依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.4</version>
</dependency>
注解使用“Long型”
@JsonSerialize(using = ToStringSerializer.class)
private Long id;