Spring Boot使用FastJson解析JSON数据

文章首发 http://surpass.esy.es

1.引入fastjson依赖库:



    com.alibaba
    fastjson
    1.2.16

2.配置fastjson

这里要说下很重要的话,官方文档说的1.2.10以后,会有两个方法支持HttpMessageconvert,一个是FastJsonHttpMessageConverter,支持4.2以下的版本,一个是FastJsonHttpMessageConverter4支持4.2以上的版本,具体有什么区别暂时没有深入研究。这里也就是说:低版本的就不支持了,所以这里最低要求就是1.2.10+

方式一:

  • (1)启动类继承WebMvcConfigurerAdapter

  • (2)覆盖方法configureMessageConverters

具体代码:

@SpringBootApplication  //  申明让spring boot自动给程序进行必要的配置,等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan
public class Application extends WebMvcConfigurerAdapter{

    @Override
    public void configureMessageConverters(List> converters) {
        super.configureMessageConverters(converters);

        //  初始化转换器
        FastJsonHttpMessageConverter fastConvert = new FastJsonHttpMessageConverter();
        //  初始化一个转换器配置
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        //  将配置设置给转换器并添加到HttpMessageConverter转换器列表中
        fastConvert.setFastJsonConfig(fastJsonConfig);

        converters.add(fastConvert);
    }

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

方式二:

  • 在配置类或启动类中,注入Bean : HttpMessageConverters
/**
 * Bean配置管理
 * Created by [email protected] on 2017/2/21.
 */
@Configuration
public class BeanConfig {

    /*注入Bean : HttpMessageConverters,以支持fastjson*/
    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters() {
        FastJsonHttpMessageConverter fastConvert = new FastJsonHttpMessageConverter();
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        fastConvert.setFastJsonConfig(fastJsonConfig);
        return new HttpMessageConverters((HttpMessageConverter) fastConvert);
    }
}

配置完成后,在实体类中使用@JSONField(serialize=false),是不是此字段就不返回了,如果是的话,那么恭喜你配置成功了,其中JSONField的包路径是:com.alibaba.fastjson.annotation.JSONField

【转】根据 http://412887952-qq-com.iteye.com/blog/2315202 实践整理

你可能感兴趣的:(Spring Boot使用FastJson解析JSON数据)