其实 想让springboot返回json很简单 只要在controller中直接返回对象即可
如果返回的是List 则会返回一个json数组
因为 springboot内置了jackson 对象会被jackson解析成为json字串进行返回
那么这里 我就说一下 如何用性能更高的fastjson来解析返回值
1 首先 我们必须先引入fastJson的相关jar包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastJson.version}</version>
</dependency>
2 需要注入一个bean , 我们创建一个Config的类 添加注解 @Configuration
然后创建方法
@Bean
public HttpMessageConverters fastJsonMessageConverters(){
FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
FastJsonConfig config=new FastJsonConfig();
config.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastConverter.setFastJsonConfig(config);
HttpMessageConverter converter=fastConverter;
return new HttpMessageConverters(converter);
}
其实添加了@bean注解 就和 spring注入bean是一个道理 ,写好之后我们运行来看
第一个是日期类型有问题 第二个是中文乱码了
我们修改一下
FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
FastJsonConfig config=new FastJsonConfig();
config.setSerializerFeatures(SerializerFeature.PrettyFormat);
//配置日期类型
config.setDateFormat("yyyy/MM/dd HH:mm:ss");
//解决中文乱码
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(fastMediaTypes);
fastConverter.setFastJsonConfig(config);
HttpMessageConverter converter=fastConverter;
return new HttpMessageConverters(converter);
接下来我们再来看