“明年此日青云去,却笑人间举子忙”
序
刚巧在学习springboot,于是记录起这个知识点,或许以后用得到,也或许可以帮助其他学习者。
使用步骤
- 在pom.xml文件中加入fastjson的依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
- 启动文件继承WebMvcConfigurationSupport类
@SpringBootApplication
public class DemoApplication extends WebMvcConfigurationSupport {
}
- 重写configureMessageConverters方法
/**
*@author aRunner
*@date 2019/12/21
*@description 重写configureMessageConverters
*/
@Override
protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
//定义一个convert转换消息的对象
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
//添加fastjson的配置信息,比如:是否要格式化返回的json数据;
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//在convert中添加配置信息
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
//将convert添加到converts当中
converters.add(fastJsonHttpMessageConverter);
}
- 在实体类中加入测试字段,因为使用框架自带的Jackson返回和使用fastjson返回的数据一直,都是如下图:

所以,为了区分,我们现在使用的是fastjson,加入时间字段,然后使用fastjson格式化时间:
//import com.alibaba.fastjson.annotation.JSONField;
@JSONField(format = "yyyy-MM-dd HH:mm")
private Date time;
- 加入时间后的页面打印结果如下:

发现中文乱码了,下面解决乱码的问题。 - 解决fastjson解析乱码的问题,在第二步:重写configureMessageConverters方法中加入解决乱码代码,如下:
// 解决乱码的问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
converters.add(fastJsonHttpMessageConverter);
再次访问页面,即可看到中文:

本文详细介绍如何在SpringBoot项目中集成Fastjson,包括添加依赖、配置消息转换器及解决中文乱码问题,通过实例演示Fastjson的时间格式化功能。
4073

被折叠的 条评论
为什么被折叠?



