SpringBoot二十:使用FastJson解析JSON数据

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_45730091/article/details/102779463

springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用

pom文件引入以下依赖

<dependencies>
	<!-- FastJson -->
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>fastjson</artifactId>
		<version>1.2.46</version>
	</dependency>
</dependencies>

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

HttpMessageConverters

@Configuration
public class HttpConverterConfig {

	@Bean
	public HttpMessageConverters fastJsonHttpMessageConverters() {
		// 1.定义一个converters转换消息的对象
		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
		// 2.添加fastjson的配置信息,比如: 是否需要格式化返回的json数据
		FastJsonConfig fastJsonConfig = new FastJsonConfig();
		fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
		// 日期格式化
		// fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
		// 3.在converter中添加配置信息
		fastConverter.setFastJsonConfig(fastJsonConfig);
		// 4.将converter赋值给HttpMessageConverter
		HttpMessageConverter<?> converter = fastConverter;
		// 5.返回HttpMessageConverters对象
		return new HttpMessageConverters(converter);
	}

}

创建实体

@Data
public class User {

	private int id;
	private String name;
	@JSONField(format = "yyyy-MM-dd HH:mm")
	private Date createTime;
	/**
	 * serialize:是否需要序列化属性 ;在实体类中使用@JSONField(serialize=false),此字段就不返回了
	 */
	@JSONField(serialize = false)
	private String remarks;

}

测试

@RestController
public class UserController {
	/**
	 * Spring Boot默认使用的json解析框架是jackson
	 * 
	 * @return
	 */
	// http://localhost:8080/getUser
	@RequestMapping("/getUser")
	public User getUser() {
		User user = new User();
		user.setId(1);
		user.setName("张三");
		user.setCreateTime(new Date());
		user.setRemarks("备注信息");
		return user;
	}

}

代码托管:springboot_fastJson

猜你喜欢

转载自blog.csdn.net/weixin_45730091/article/details/102779463
今日推荐