Spring Boot使用FastJson解析JSON数据

2019-03-21 23:01|来源: 网路

Spring Boot默认使用jackson,国内很多人比较习惯用fastjson。所以我们看一下怎么在spring boot 中使用fastjson


注:官方文档说的1.2.10以后,会有两个方法支持HttpMessageconvert,一个是FastJsonHttpMessageConverter,支持spring 4.2以下的版本,一个是FastJsonHttpMessageConverter4支持spring 4.2以上的版本


引入FastJson

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


配置FastJson

添加FastJson支持第一种方式

继承WebMvcConfigurerAdapter类,在configureMessageConverters方法中加入FastJsonconvert 转换消息的对象

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

    /**
     * 添加FastJson支持第一种方式
     * 继承WebMvcConfigurerAdapter类,在configureMessageConverters方法中加入FastJsonconvert 转换消息的对象
     */
    // 1、需要定义一个 convert 转换消息的对象;
    FastJsonHttpMessageConverter fastJsonConverter = new FastJsonHttpMessageConverter();

    //2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

    //3、在convert中添加配置信息.
    fastJsonConverter.setFastJsonConfig(fastJsonConfig);

    //4、将convert添加到converters当中.
    converters.add(fastJsonConverter);
}


添加FastJson支持第二种方式
使用Bean注入的方式把FastJsonHttpMessageConverter添加到HttpMessageConverter

/**
 * 添加FastJson支持第二种方式
 * 使用Bean注入的方式把FastJsonHttpMessageConverter添加到HttpMessageConverter
 * @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);
}

 


相关问答

更多

使用Jackson JSON解析Spring MVC中的JSON(Parsing JSON in Spring MVC using Jackson JSON)

使用像Jackson这样的映射技术的关键是你可以使用Objects(你不必自己解析JSON)。 定义一个Java类,类似于您期待的JSON。 例如这个JSON: { "foo" : ["abc","one","two","three"], "bar" : "true", "baz" : "1" } 可以映射到这个类: public class Fizzle{ private List<String> foo; private boolean bar; private in ...

springboot 返回json问题

第一个问题 不加responsebody的话,应该是不行的,因为spring mvc的话,默认会根据controller的返回值去映射view,加了responsebody就不会去映射view而是直接返回到response的body里面 第二个问题 一般的restfule接口或者ajax调用,都要求返回的是json格式的字符串,这样方便解析。如果是controller里面返回的是字符串,那么response就直接将字符串返回,如果是对象,那么需要使用一些格式化工具,将java对象转为字符串在返回。 ...

spring boot 和spring framework到底学哪个啊?

先学spring framework吧,把spring 的原理,配置那些东西学会了,理解了再去用spring boot 很容易上手,其实spring boot 就是把很多spring 的配置都简化了,很多东西在properties配置文件里写了之后,spring boot 就会自动帮你把相关的bean配置上,例如你在配置文件里把数据库连接的相关地址,用户,密码配好后,spring boot就会自动帮你把数据库连接池配置好,当然你也可以不用他提供的自动配置功能,完全可以按照你的需求去集成其他的例如d ...

spring boot 和 spring MVC 使用的和配置的区别。

Spring Boot只是承载者,辅助你简化项目搭建过程的。如果承载的是WEB项目,使用Spring MVC作为MVC框架,那么工作流程和你上面描述的是完全一样的,因为这部分工作是Spring MVC做的而不是Spring Boot。 对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,另外就是不需要单独安装Tomcat这类容器服务器了,maven打出jar包直接跑起来就是个网站,但你最核心的业务逻辑实现与业务流程实现没有任何变化。 Spring MVC属于Spring ...

求完整的spring boot 、spring data jpa所需要的jar包

spring官包lib目录除带resource缀jar包初建议都加入门明白项目需要哪些包需要哪些包带resource缀jar源码

相关文章

更多

最近更新

更多