最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項目中處理返回json的null值(springboot項目為例)

 更新時間:2019年10月28日 16:05:04   作者:ryantom  
本文以spring boot項目為例給大家介紹SpringBoot項目中處理返回json的null值問題,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下

在后端數(shù)據(jù)接口項目開發(fā)中,經(jīng)常遇到返回的數(shù)據(jù)中有null值,導(dǎo)致前端需要進行判斷處理,否則容易出現(xiàn)undefined的情況,如何便捷的將null值轉(zhuǎn)換為空字符串?

以SpringBoot項目為例,SSM同理。

1、新建配置類(JsonConfig.java)

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import java.io.IOException;
@Configuration
public class JsonConfig {
 @Bean
 @Primary
 @ConditionalOnMissingBean(ObjectMapper.class)
 public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder)
 {
  ObjectMapper objectMapper = builder.createXmlMapper(false).build();
  // 通過該方法對mapper對象進行設(shè)置,所有序列化的對象都將按改規(guī)則進行系列化
  // Include.Include.ALWAYS 默認(rèn)
  // Include.NON_DEFAULT 屬性為默認(rèn)值不序列化
  // Include.NON_EMPTY 屬性為 空("") 或者為 NULL 都不序列化,則返回的json是沒有這個字段的。這樣對移動端會更省流量
  // Include.NON_NULL 屬性為NULL 不序列化,就是為null的字段不參加序列化
  //objectMapper.setSerializationInclusion(Include.NON_EMPTY);
  // 字段保留,將null值轉(zhuǎn)為""
  objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer<Object>()
  {
   @Override
   public void serialize(Object o, JsonGenerator jsonGenerator,
         SerializerProvider serializerProvider)
     throws IOException, JsonProcessingException
   {
    jsonGenerator.writeString("");
   }
  });
  return objectMapper;
 }
}

2、在啟動類Application中,記得添加Scan注解,防止無法掃描到配置類。

ps:下面看下spring boot 使用 json 響應(yīng)時去除 null 的字段

import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
public class RespObject implements Serializable {
  private static final long serialVersionUID = -1560603887556641494L;
  ....
  @JsonInclude(Include.NON_NULL)
  public Object respMsg;
  @JsonInclude(Include.NON_NULL)
  public Object respData;
  ....
}

總結(jié)

以上所述是小編給大家介紹的SpringBoot項目中處理返回json的null值,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • Java集合類的組織結(jié)構(gòu)和繼承、實現(xiàn)關(guān)系詳解

    Java集合類的組織結(jié)構(gòu)和繼承、實現(xiàn)關(guān)系詳解

    這篇文章主要介紹了Java集合類的組織結(jié)構(gòu)和繼承、實現(xiàn)關(guān)系,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • SSH框架網(wǎng)上商城項目第14戰(zhàn)之商城首頁UI的設(shè)計

    SSH框架網(wǎng)上商城項目第14戰(zhàn)之商城首頁UI的設(shè)計

    這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項目第14戰(zhàn)之商城首頁UI的設(shè)計,感興趣的小伙伴們可以參考一下
    2016-06-06
  • MyBatis?Mapper.XML?標(biāo)簽使用小結(jié)

    MyBatis?Mapper.XML?標(biāo)簽使用小結(jié)

    在MyBatis中,通過resultMap可以解決字段名和屬性名不一致的問題,對于復(fù)雜的查詢,引用實體或使用<sql>標(biāo)簽可以定義復(fù)用的SQL片段,提高代碼的可讀性和編碼效率,使用這些高級映射和動態(tài)SQL技巧,可以有效地處理復(fù)雜的數(shù)據(jù)庫交互場景
    2024-10-10
  • 解讀@SpringBootApplication注解有什么用

    解讀@SpringBootApplication注解有什么用

    @SpringBootApplication是SpringBoot的核心注解,主要包含@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan三個注解,這些注解共同簡化了Spring應(yīng)用的配置工作,并使得通過主程序類就可以啟動SpringBoot應(yīng)用
    2024-09-09
  • Java中的switch新特性與使用詳解

    Java中的switch新特性與使用詳解

    這篇文章主要介紹了Java中的switch新特性與使用詳解,Switch語句可以實現(xiàn)根據(jù)某一變量選則執(zhí)行代碼塊,當(dāng)然直接使用If語句也可以做到,但是有時候使用Switch語句往往更加簡潔優(yōu)美,需要的朋友可以參考下
    2023-11-11
  • Java對zip,rar,7z文件帶密碼解壓實例詳解

    Java對zip,rar,7z文件帶密碼解壓實例詳解

    在日常業(yè)務(wù)中,會遇到一些瑣碎文件需要打包到一個壓縮包中上傳,業(yè)務(wù)方在后臺接收到壓縮包后自行解壓,然后解析相應(yīng)文件。而且可能涉及安全保密,因此會在壓縮時帶上密碼,要求后臺業(yè)務(wù)可以指定密碼進行解壓。本文將用Java解決這一問題,需要的可以參考一下
    2022-07-07
  • Runtime.getRuntime().exec 路徑包含空格的解決

    Runtime.getRuntime().exec 路徑包含空格的解決

    這篇文章主要介紹了Runtime.getRuntime().exec 路徑包含空格的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Spring Security單項目權(quán)限設(shè)計過程解析

    Spring Security單項目權(quán)限設(shè)計過程解析

    這篇文章主要介紹了Spring Security單項目權(quán)限設(shè)計過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java利用多線程和分塊實現(xiàn)快速讀取文件

    Java利用多線程和分塊實現(xiàn)快速讀取文件

    在工作中經(jīng)常會有接收文件并且讀取落庫的需求,讀取方式都是串行讀取,所以本文主要為大家介紹一下如何利用多線程和分塊實現(xiàn)快速讀取文件,希望對大家有所幫助
    2023-09-09
  • 在idea中g(shù)it實現(xiàn)里查看歷史代碼方式

    在idea中g(shù)it實現(xiàn)里查看歷史代碼方式

    這篇文章主要介紹了在idea中g(shù)it里查看歷史代碼的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10

最新評論

呼和浩特市| 海阳市| 十堰市| 青海省| 蓬莱市| 漯河市| 台山市| 陇川县| 荥阳市| 东阳市| 景谷| 区。| 临沭县| 二连浩特市| 天气| 长汀县| 吉木萨尔县| 莱西市| 同江市| 清远市| 静海县| 上虞市| 广东省| 皮山县| 夏津县| 广东省| 金堂县| 德清县| 惠安县| 蒙山县| 元阳县| 吴桥县| 北宁市| 宜兴市| 临清市| 利川市| 长寿区| 克什克腾旗| 澄迈县| 高雄县| 阿克苏市|