- SpringBoot默认使用jackson处理json信息
//User实体类
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;
}
}
//控制器层
@RestController
public class HelloController {
/**
* 建立请求映射
* @return
*/
@RequestMapping("/hello")
public String hello(){
return "hello";
}
/**
* SpringBoot返回实体类对象数据
* 默认使用的json解析框架是jackson
* @return
*/
@RequestMapping("/getUser")
public User getUesr(){
User user = new User();
user.setId(001);
user.setName("张三");
return user;
}
}
//主类中访问
@SpringBootApplication
public class App {
public static void main(String[] args){
System.out.println("Hello Spring Boot !");
SpringApplication.run(App.class,args);
}
}
使用自定义的json解析工具fastjson解析
- 配置引入依赖
配置转换器(有两种方式):
第一种方法:继承WebMvcConfigurerAdapter,重写其中的configureMessageConverters方法,注意中文的处理,**代码如下**:
@SpringBootApplication
public class App extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
super.configureMessageConverters(converters);
/**
* 1.需要先定义一个convert转换消息对象
* 2.添加fastJson的配置信息,如:是否要格式化返回的Json数据
* 3.在convert中添加配置信息
* 4.将convert添加到converts中
*/
//1.需要先定义一个convert转换消息对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2.添加fastJson的配置信息,如:是否要格式化返回的Json数据
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);
fastConverter.setFastJsonConfig(fastJsonConfig);
//4.将convert添加到converts中
converters.add(fastConverter);
}
// main方法中启动应用程序
//@param args
public static void main(String[] args){
System.out.println("Hello Spring Boot !");
SpringApplication.run(App.class,args);
}
}
第二种方法:使用@Bean注解方式,代码如下:
@SpringBootApplication
public class App {
/**
* 使用@Bean注入FastJsonHttpMessageConvert
* @return
*/
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters(){
//1.需要先定义一个convert转换消息对象
FastJsonHttpMessageConverter fastConverter= new FastJsonHttpMessageConverter();
//2.添加fastJson的配置信息,如:是否要格式化返回的Json数据
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);
fastConverter.setFastJsonConfig(fastJsonConfig);
//4.将convert添加到converts中
HttpMessageConverter<?> converter = fastConverter;
return new HttpMessageConverters(converter);
}
/**
* main方法中启动应用程序
* @param args
*/
public static void main(String[] args){
System.out.println("Hello Spring Boot !");
SpringApplication.run(App.class,args);
}
}