一、生成Json数据
1.编写一个实体类:
public class User {
private int id;
private String name;
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;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
2.编写访问路径
@RequestMapping("/getUser")
public User getUser(){
User u = new User();
u.setId(1);
u.setName("milan");
return u;
}
3.访问地址:http://localhost:8080/getUser
{"id":1,"name":"milan"}返回一个Json数据,Spring Boot默认使用的解析框架是jackson
二、解析Json数据
1.引入fastjson依赖库
<!-- 添加fastjson 依赖包. -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
第一种方法:
1.启动类继承WebMvcConfigurerAdapter
2.覆盖方法configureMessageConverters
@SpringBootApplication
public class App extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
//定义转换消息对象converter
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
//添加fastjson的配置信息,如:是否要格式化返回的json数据
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//converter中添加配置信息
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
//将converter添加到converters中
converters.add(fastJsonHttpMessageConverter);
}
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
第二种方法:在启动类中注入bean:HttpMessageConverters
@Bean
public HttpMessageConverters fastJsonHttpConverters() {
// 定义转换消息对象converter
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
// 添加fastjson的配置信息,如:是否要格式化返回的json数据
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
// converter中添加配置信息
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter = fastJsonHttpMessageConverter;
return new HttpMessageConverters(converter);
}