Springboot-Fastjson测试
1,在pom.xml文件中添加依赖
在web下添加扩展json
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-json</artifactId>
</exclusion>
</exclusions>
</dependency>
添加fastjson依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>2,Application.class 继承WebMvcConfigurer,并重写configerMessageConverter方法(要注意fastjson出现中文乱码问题,在重写方法中将格式设置为utf-8即可)
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//1、定义一个convert转换消息的对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2、添加fastjson的配置信息
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//防止中文乱码问题
List<MediaType> supportedMediaTypes=new ArrayList<MediaType>();
supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastConverter.setSupportedMediaTypes(supportedMediaTypes);
//3、在convert中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
//4、将convert添加到converters中
converters.add(fastConverter);
}3,创建fastjson Model类(省略部分get,set方法)
public class FastjsonTest {
private Integer id;
private String string;
/**
* 格式化日期
*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date date;
/**
* 转换为json时不包括该属性
*/
@JSONField(serialize = false)
private String ignore;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
4,测试controller
@RestController
public class TestController {
@GetMapping("/fastjson")
public FastjsonTest getFastJson() {
FastjsonTest fastjsonTest = new FastjsonTest();
fastjsonTest.setId(1);
fastjsonTest.setString("fastjson 测试");
fastjsonTest.setIgnore("ignore field");
fastjsonTest.setDate(new Date());
return fastjsonTest;
}
}测试结果:

版权声明:本文为Dar_shen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。