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