Spring Boot中配置Jackson转换Long为字符串类型
前言Jackson对long型的转换是没有问题的。只不过前端js有个问题,java的long型,在转换后,js中展示会损失精度。如:1500829886697496578,在前端使用js数字类型展示是可能就变成了1500829886697496600。为了解决这个问题,一般情况下我们会将后端的Long型转换为字符串类型。Jackson配置Long转换为字符串类型在Spring boot环境下,配置
·
前言
Jackson对long型的转换是没有问题的。只不过前端js有个问题,java的long型,在转换后,js中展示会损失精度。如:1500829886697496578,在前端使用js数字类型展示是可能就变成了1500829886697496600。为了解决这个问题,一般情况下我们会将后端的Long型转换为字符串类型。
Jackson配置Long转换为字符串类型
在Spring boot环境下,配置如下代码即可
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JacksonConf {
/**
* 自定义序列化类型转换
* 注:此处解决Long型转换后,前端js损失精度的问题,将Long型转换为字符串类型
*/
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
Jackson2ObjectMapperBuilderCustomizer customizer = jacksonObjectMapperBuilder ->
jacksonObjectMapperBuilder.serializerByType(Long.class, ToStringSerializer.instance)
.serializerByType(Long.TYPE, ToStringSerializer.instance);
return customizer;
}
}
更多推荐
已为社区贡献2条内容
所有评论(0)