Spring boot FastJson 返回JSON数据删除了NULL空字段解决办法

教程分享 > WEB技术 > JavaScript (6737) 2024-08-07 11:21:12

在国内项目中,阿里的fastjson包因其使用简单功能强大很多人喜欢在项目中使用,我也是其中一员。今天主要讨论的是在某些情况下因fastjson的默认配置删除了空的字段,这对于小项目的前端处理就有些恼火了,每次要验证所有的字段非空,为了简单还是将null值转换为空串比较方便。

下面就spring boot项目中存在该问题进行解决。

首先在web配置中找到fastjson的响应配置,如下:

	@Bean
	public HttpMessageConverters fastJsonHttpMessageConverters() {
		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
		FastJsonConfig fastJsonConfig = new FastJsonConfig();
		fastJsonConfig.setSerializerFeatures(
				SerializerFeature.PrettyFormat,
				SerializerFeature.WriteNullStringAsEmpty,
				SerializerFeature.WriteNullListAsEmpty,
				SerializerFeature.WriteNullNumberAsZero);
		fastConverter.setFastJsonConfig(fastJsonConfig);
		HttpMessageConverter<?> converter = fastConverter;
		return new HttpMessageConverters(converter);
	}


上面的配置中以下代码片段为配置fastjson不删除null的String字段,并将null字段返回空串:
 

		fastJsonConfig.setSerializerFeatures(
				SerializerFeature.PrettyFormat,
				SerializerFeature.WriteNullStringAsEmpty,
				SerializerFeature.WriteNullListAsEmpty,
				SerializerFeature.WriteNullNumberAsZero);
https://www.leftso.com/article/706.html

相关文章
在国内项目中,阿里的fastjson包因其使用简单功能强大很多人喜欢在项目中使用,我也是其中一员
fastJSON字符串类型数据中的日期转换为Java bean的日期对象
简介Spring Cloud Gateway中的全局异常处理不能直接用@ControllerAdvice来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求