fastjson2 解决long精度问题
导入maven坐标:
在 pom.xml 文件中添加 fastjson2 的依赖。
▼xml复制代码<dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2</artifactId> <version>2.0.21</version> <!-- 请使用最新版本 --> </dependency>
配置 fastjson2 为默认的 JSON 序列化器:
创建一个配置类来配置 fastjson2 作为 Spring Boot 的默认 JSON 序列化器。
▼java复制代码@Configuration public class FastJsonConfigurator implements WebMvcConfigurer { @Bean public HttpMessageConverter<?> fastJsonHttpMessageConverter() { FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); // 可以在这里配置 fastjson 的特性,例如日期格式化等 fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); // 解决Long精度问题 fastJsonConfig.setWriterFeatures(JSONWriter.Feature.WriteLongAsString); converter.setFastJsonConfig(fastJsonConfig); List<MediaType> supportedMediaTypes = new ArrayList<>(); supportedMediaTypes.add(MediaType.APPLICATION_JSON); supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); converter.setSupportedMediaTypes(supportedMediaTypes); converter.setDefaultCharset(StandardCharsets.UTF_8); return converter; } @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(fastJsonHttpMessageConverter()); } }
移除默认的 Jackson 序列化器(可选):
如果你希望完全移除默认的 Jackson 序列化器,可以在configureMessageConverters 方法中移除它。
▼java复制代码@Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.removeIf(converter -> converter instanceof MappingJackson2HttpMessageConverter); converters.add(fastJsonHttpMessageConverter()); }
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
