国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

spring boot 下對JSON返回值去除null和空字段操作

瀏覽:82日期:2023-08-10 11:33:49

在開發過程中,我們需要統一返回前端json格式的數據,但有些接口的返回值存在 null或者''這種沒有意義的字段。

不僅影響理解,還浪費帶寬,這時我們可以統一做一下處理,不返回空字段,或者把NULL轉成“”,spring 內置的json處理框架是Jackson。我們可以對它配置一下達到目的

直接看代碼,很簡單.

/** * 〈返回json空值去掉null和''〉 〈功能詳細描述〉 * * @author gogym * @version 2017年10月13日 * @see JacksonConfig * @since */@Configurationpublic class JacksonConfig{ @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.class) public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.createXmlMapper(false).build(); // 通過該方法對mapper對象進行設置,所有序列化的對象都將按改規則進行系列化 // Include.Include.ALWAYS 默認 // Include.NON_DEFAULT 屬性為默認值不序列化 // Include.NON_EMPTY 屬性為 空('') 或者為 NULL 都不序列化,則返回的json是沒有這個字段的。這樣對移動端會更省流量 // Include.NON_NULL 屬性為NULL 不序列化,就是為null的字段不參加序列化 //objectMapper.setSerializationInclusion(Include.NON_EMPTY); // 字段保留,將null值轉為'' objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>() { @Override public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)throws IOException, JsonProcessingException { jsonGenerator.writeString(''); } }); return objectMapper; }}

補充知識:springboot RestController 配置fastjson,實體為null時不顯示問題

Springboot 在和fastjson配合使用時,當返回實體為空時攔截不顯示問題。在實際業務中,不管返回實體是否為空,都需要顯示出來,如果為空則顯示null。

解決方案,引入fastjson jar包

<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.22</version> </dependency>

添加配置ResultConfig:

package com.message.config; /** * @author :zoboy * @Description: * @ Date: Created in 2019-11-18 10:29 */import com.alibaba.fastjson.serializer.SerializerFeature;import com.alibaba.fastjson.support.config.FastJsonConfig;import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;import org.springframework.boot.autoconfigure.http.HttpMessageConverters;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.http.MediaType;import org.springframework.http.converter.HttpMessageConverter; import java.util.ArrayList;import java.util.List; @Configurationpublic class ResultConfig { /*注入Bean : HttpMessageConverters,以支持fastjson*/ @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { FastJsonHttpMessageConverter fastConvert = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,SerializerFeature.WriteNullStringAsEmpty,SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullListAsEmpty,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCheckSpecialChar); fastJsonConfig.setDateFormat('yyyy-MM-dd hh:mm:ss'); //處理中文亂碼問題 List<MediaType> fastMediaTypes = new ArrayList<>(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConvert.setSupportedMediaTypes(fastMediaTypes); fastConvert.setFastJsonConfig(fastJsonConfig); return new HttpMessageConverters((HttpMessageConverter<?>) fastConvert); }}

結果:

{ 'code': '0', 'message': '成功!', 'data': null}

解決問題!

以上這篇spring boot 下對JSON返回值去除null和空字段操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 一本到不卡 | 午夜大片免费男女爽爽影院久久 | 免费人成黄页网站在线观看 | 欧美日韩高清不卡一区二区三区 | 一个人免费观看日本www视频 | 国产精品日韩 | 亚洲欧美在线视频 | 国产成视频| 国产成人久久综合热 | 国产欧美日韩亚洲精品区2345 | 91精品国产薄丝高跟在线看 | 夜晚福利网站 | 欧美区在线 | 亚洲天堂网在线观看视频 | 欧美人一级淫片a免费播放 欧美人与z0z0xxxx | 看全色黄大色黄大片毛片 | 99激情 | 91久久精品| 亚洲欧美综合视频 | 精品日韩一区二区三区视频 | 亚洲午夜精品久久久久久抢 | 久久88香港三级台湾三级中文 | 日韩精品一区二区三区高清 | 欧美91精品久久久久网免费 | 国产美女一区二区在线观看 | 国产午夜视频 | 久久亚洲精品中文字幕第一区 | 日本美女视频韩国视频网站免费 | 亚洲在线不卡 | 国产欧美在线观看视频 | 精品成人一区二区三区免费视频 | 国产成 人 综合 亚洲绿色 | 国内精品久久久久久野外 | 亚洲欧美一区二区三区在饯 | 欧美日韩精彩视频 | 亚洲日本久久一区二区va | a级做爰片毛片视频 | 国产精品久久做爰 | 一区二区三区日韩精品 | 黄色不卡视频 | 久久免费网 |