1.引入FastJson依赖包java
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>
2.在Application配置FastJsonspring
package com.text.textdemo; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import java.util.ArrayList; import java.util.List; @SpringBootApplication public class TextDemoApplication { public static void main(String[] args) { SpringApplication.run(TextDemoApplication.class, args); } @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { //1.须要先定义一个Convert 转换消息的对象; FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); //2.添加fastjson的配置信息,好比:是否要格式化返回就送数据; FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); //3.在Convert中添加配置信息; fastConverter.setFastJsonConfig(fastJsonConfig); //解决中文乱码 List<MediaType> fastMediaTypes = new ArrayList<>(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConverter.setSupportedMediaTypes(fastMediaTypes); HttpMessageConverter<?> converter = fastConverter; return new HttpMessageConverters(converter); } }
3.编写测试Demo实体类json
package com.text.textdemo; import com.alibaba.fastjson.annotation.JSONField; import java.util.Date; public class Demo { private int id; private String name; //建立时间 格式化时间 @JSONField(format = "yyyy-MM-dd HH:mm") private Date createTime; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } }
4.编写测试getDemo方法app
@RequestMapping(value = "/getDemo" ,method = RequestMethod.GET) public Demo getDemo(){ Demo demo = new Demo(); demo.setId(1); demo.setName("您好,spring boot"); demo.setCreateTime(new Date()); return demo; }
5.测试测试
总结:若是不想返回实体的属性,请在属性什么加上@JSONField(serialize = false)this