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

编程教程 > WEB > JavaScript (6890) 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来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求
httpclient4.5使用详解 httpclient 4.5 post传递json参数
引言AES代表高级加密系统,它是一种对称加密算法
Java EE 8 JSON Pointer讲解,Java EE 8包含JSON处理API的更新,并为最新的JSON标准提供最新的IEFT标准。
layer.prompt弹出框设置默认值,layer.prompt弹出框如何默认值,偶尔需要给layer的弹出设置默认值这里详细讲解一下
JavaScript/jquery选择同级兄弟节点选择上下级节点方法&lt;script&gtl;function js_selector() {var s= documen
jquery模拟点击事件写法//语法:$(selector).trigger("click");$('#test).trigger("click"); over
Angular HttpClient使用RxJS Observable例子,习使用Angular2  HttpClient服务从在线REST API获取数据并将其作为Observable对象/数...
java json字符串转对象_json转换为java对象_ json字符串转对象数组
Spring Boot 2.0 @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") 注解格式化日期失效原因及解决。
说明:json除了键值对的形式以外,还包括Array数列形式,这在mysql5.7及以上也是支持的,对Array中元素的操作相当于直接对键值对中的值操作,少了“键”的定位这一步,这里不单独展示,...
有些时候你可能会导出大量的JSON数据到文件中,或者说将所有数据导入到JSON文件。和任何大数据集一样,您不能只将其全部放入内存并将其写入文件。 它需要一段时间
在vue2.0中使用了axios库,设置请求头Content-Type='application/json;charset=UTF-8'无效axios.defaults.headers.comm...