当前位置: 首页 > 工具软件 > JsonSerialize > 使用案例 >

@JsonSerialize(using = ToStringSerializer.class)

高奇
2023-12-01

场景: id为long,传到后台就变了值 。
测试一下,这个要是只有几位数的情况下,其实都不需要这个注解,大于某个值,19位数的时候就会出问题

解决办法:在实体类上面添加这个注解就可以了。

原因:使用fastjson的ToStringSerializer注解,让系统序列化时,保留相关精度。
ToStringSerializer是一个类,还有一个与它类似的是
@JsonSerialize(using = LongToStringUtil.class) 和前端交互时,值比number数值更大,会导致精度缺失,使用JsonSerialize注解,可以帮助我们解决该问题。
在using = LongToStringUtil.class,可以使用我们自定义的类,来将我们传入的值转换为String类型,来传入到前端,可以解决精度问题,定义的LongToStringUtil类需要继承自JsonSerializer类。

 类似资料: