SpringBoot json 解析 - 立flag网

SpringBoot json 解析

Spring Boot为我们良好的提供了我们需要的数据,将数据转化为json格式,然后返回

Sprigboot 默认使用的json解析技术框架是jackson

直接返回对象

@RequestMapping("/user")
Cat getUser() {
	Cat cat = new User();
	cat.setName("dafeiyu");
	cat.setCreateDate(new Date());
	return cat;
}

启动访问结果 5db8626e3dc24da6b77423fa4da6b0bd-image.png

Spring Boot使用FastJson解析JSON数据

我们要使用第三方的json解析框架的话: 我们需要在pom.xml中引入相应的依赖;

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.35</version>
</dependency>

需要在App.java中继承WebMvcConfigurerAdapter重写方法:configureMessageConverters 添加我们自己定义的json解析框架;

@SpringBootApplication
public class Application extends WebMvcConfigurerAdapter{

    @Override
	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
		super.configureMessageConverters(converters);
		/*
		 * 1、需要先定义一个 convert 转换消息的对象;
		 * 2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
		 * 3、在convert中添加配置信息.
		 * 4、将convert添加到converters当中.
		 *
		 */
		// 1、需要先定义一个 convert 转换消息的对象;
		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
		//2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
		FastJsonConfig fastJsonConfig = new FastJsonConfig();
		fastJsonConfig.setSerializerFeatures(
                SerializerFeature.PrettyFormat
        );
		//3、在convert中添加配置信息.
        fastConverter.setFastJsonConfig(fastJsonConfig);
        //4、将convert添加到converters当中.
    	converters.add(fastConverter);
	}


    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

或者 @Bean注入第三方的json解析框架:

@SpringBootApplication
public class Application{
    /**
     * 在这里我们使用 @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);
        HttpMessageConverter<?> converter = fastConverter;
        return new HttpMessageConverters(converter);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

启动 访问 465dc509a7f94e0c804d51d28610f15a-image.png


已有 0 条评论

    我有话说: