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

编程 > WEB > JavaScript (7042) 2024-11-26 14:39:04

在国内项目中,阿里的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);

评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
在国内项目中,阿里的fastjson包因其使用简单功能强大很多人喜欢在项目中使用,我也是其中一员
fastJSON字符串类型数据中的日期转换为Java bean的日期对象
简介Spring Cloud Gateway中的全局异常处理不能直接用@ControllerAdvice来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求
简介在封装组件的时候,我们会进行数据的传输和绑定,有的是单向的,有的是双向的,有的时候会调用外部作用域的函数等,这时候我们会进行外部作用域与组件内部作用域的数据
stopPropagation() 和 preventDefault() 是事件对象(event)上两个非常重要的方法,它们的作用完全不同。理解它们的区别对于处
在js编程中,也会遇到替换字符串对象中某个字符。这时候就需要使用js内置函数replace了。可以替换一个也可以替换多个,支持正则表达式匹配比较灵活
jsp中/el表达式中将后台传来的时间戳格式化为年月日时分秒1.引入相关标签库&lt;%@taglib prefix="c" uri="http://java.sun
jquery动态绑定事件处理一些由于html代码是动态生成,导致普通的$('selector') 绑定事件失败问题&lt;!DOCTYPE html&gtl;&lt;html&gtl;&lt;h
jquery/j获取raido选中元素/选中值html&lt;div id="testRaidoGroup"&gtl;&lt;input type="radio" name="te
httpclient4.5使用详解 httpclient 4.5 post传递json参数
引言AES代表高级加密系统,它是一种对称加密算法
Java EE 8 JSON Pointer讲解,Java EE 8包含JSON处理API的更新,并为最新的JSON标准提供最新的IEFT标准。
JavaScript正则加上/去掉cdn域名前缀,文本支持&lt;script&gtl;let $domain="https://static-project.example
尽管现在前端技术发展飞速发展,各种技术迭代很快,但jQuery还是在一些企业站或者简单网页尝尝用到,本文记录一下学写jQuery插件的内容,愿新手共勉,共同进步
定义和用法animate() 方法执行 CSS 属性集的自定义动画。该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创