1、在pom中添加fastjson的依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.56</version> </dependency>
2、编写fastjson的config类对其返回的json字符串进行格式化
package com.wjj.springboot.wjj.config; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import com.alibaba.fastjson.support.spring.annotation.FastJsonFilter; import com.fasterxml.jackson.databind.ser.SerializerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; import javax.xml.stream.FactoryConfigurationError; import java.nio.charset.Charset; @Configuration /*对fastJson返回的字符串格式进行配置*/ public class bok { @Bean FastJsonHttpMessageConverter fastJsonHttpMessageConverter(){ FastJsonHttpMessageConverter fastJsonHttpMessageConverter =new FastJsonHttpMessageConverter(); FastJsonConfig config= new FastJsonConfig(); config.setDateFormat("yyyy-MM-dd");//日期格式 config.setCharset(Charset.forName("UTF-8"));//数据编码 config.setSerializerFeatures( SerializerFeature.WriteClassName,//是否在生成的json中输出类名 SerializerFeature.WriteMapNullValue,//是否输出value为null的字符串 SerializerFeature.PrettyFormat,//生成的json格式化 SerializerFeature.WriteNullListAsEmpty,//空集合输出【】而非null SerializerFeature.WriteNullStringAsEmpty//空字符串输出“”而不是null ); //配置完之后还需要在config里面响应一下编码 fastJsonHttpMessageConverter.setFastJsonConfig(config); return fastJsonHttpMessageConverter; } }
3、fastjson配置完之后还需要配置一下响应编码,否则返回的中文json乱码,在application.properties中添加
spring.http.encoding.force-response=true
则返回的json如下