SpringBoot-FastJson数据传输

第三方的Json框架能实现默认框架不能实现的功能,带来一些便利,如FastJson:

①使用@JSONField(format=“yyyy-MM-dd HH:mm”)设置时间格式

②使用@JSONField(serialize=false)设置该属性不进行json转换

SpringBoot安装FastJson步骤:

1、首先在pom中添加依赖:

<!-- 添加fastjson依赖包 注意这里要添加1.2.10以后的版本

之后的版本有FastJsonHttpMessageConverter和 FastJsonHttpMessageConverter4两个方法

FastJsonHttpMessageConverter4支持4.2以上的版本-->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.15</version>

</dependency>

2、使用FastJson的方法(有两种):

①在启动类中继承WebMvcConfigurerAdapter类,然后覆盖configureMessageConverters方法:

// 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中添加配置信息

//处理中文乱码问题

List<MediaType> fastMediaTypes=new ArrayList<>();

fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);

fastConverter.setSupportedMediaTypes(fastMediaTypes);

fastConverter.setFastJsonConfig(fastJsonConfig);

//4.将convert添加到converters

converters.add(fastConverter);

}

注意到这里在配置中添加utf-8支持才能解析中文,至少我本机是这样

②使用@Bean构建HttpMessageConverters对象

 

/**

* 在这里我们使用@Bean注入 fastJsonHttpMessageConverters

* @return

*/

@Bean

public HttpMessageConverters fastJsonHttpMessageConverters(){

//1.首先定义一个convert转换消息的对象

FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();

//2.添加fastJson的配置信息,不如:是否要格式化返回的json数据

FastJsonConfig fastJsonConfig=new FastJsonConfig();

fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

//3.在convert中添加配置信息

//处理中文乱码问题

List<MediaType> fastMediaTypes=new ArrayList<>();

fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);

fastConverter.setSupportedMediaTypes(fastMediaTypes);

fastConverter.setFastJsonConfig(fastJsonConfig);

//4.将convert添加到converters

HttpMessageConverter<?> converter=fastConverter;

return new HttpMessageConverters(converter);

}

 

这两种方法原理相同,作用也是相同的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值