Spring Boot使用FastJson解析JSON数据

2018-01-21|来源:

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);
}

 


相关问答

更多

springboot 返回json问题

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

springmvc怎么使用json数据

1、第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew。 如: 或者 同样要用jackson的jar包。 2、第二种使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。

JSON传递解析 ( jquery EasyUI + spring MVC)

java中也支持json的,引入jar包。 JSONObject.fromObject(str)就可以转成json对象了、

JSON传递解析 ( jquery EasyUI + spring MVC)

java中也支持json的,引入jar包。 JSONObject.fromObject(str)就可以转成json对象了、

spring和spring security的区别

spring是一整套应用程序框架,也是一种设计思想,他实现了很多实用工具,开发者直接使用这些工具可以提高开发速度,减少代码编写量,sping最大的用途是进行对象间的解耦操作,可实现设计松散耦合的应用程序系统,以便达到更高的可维护性和可扩展性能。 spring security是基于sping core的一个具体工具实现,主要用来管理应用程序的安全性,并提供了一组用户权限的解决方案。 简单点说,以一个web应用程序举例,sping框架负责整个应用程序的构架,spring seurity负责用户登录和 ...

专题教程

JAVA概述
第一部分:java入门基础
第二部分:java常用类
第三部分:jdbc系列教程
第四部分:java高级特征
Gson教程
快速了解 jdk8 新特征

相关文章

更多

最近更新

更多