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

位置:首页>文章>详情   分类: 教程分享 > Java教程   阅读(3816)   2023-03-28 11:29:14

在国内项目中,阿里的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);
标签: fastjson
地址:https://www.leftso.com/article/706.html

相关阅读

在国内项目中,阿里的fastjson包因其使用简单功能强大很多人喜欢在项目中使用,我也是其中一员
fastJSON字符串类型数据中的日期转换为Java bean的日期对象
为了方便管理,项目中使用统一风格的返回格式$title(Result.java) import java.io.Serializable; import java.math.BigDecima...
java Queue队列实现生产消费模式,什么是Java编程中的Queue(队列),手动实现生产者消费者模式
简介Spring Cloud Gateway中的全局异常处理不能直接用@ControllerAdvice来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求
Java编程之spring boot FastDFS Java client使用,Java编程,FastDFS Java客户端
eclipse如何关闭java代码中某些部分/片段代码不被格式化,eclipse,代码部分不被格式化,How to turn off the Eclipse code formatter for...
前言       在本教程中,我们将了解Retrofit 的基础知识以和创建一个android HTTP client请求REST API
           Spring boot/mvc项目中通过@RestControllerAdvice或者@ControllerAdvice配合@ExceptionHandler实现全局异常统一处理