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

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

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

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

以SpringBoot項(xiàng)目為例,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對象進(jìn)行設(shè)置,所有序列化的對象都將按改規(guī)則進(jìn)行系列化
  // Include.Include.ALWAYS 默認(rèn)
  // Include.NON_DEFAULT 屬性為默認(rèn)值不序列化
  // Include.NON_EMPTY 屬性為 空("") 或者為 NULL 都不序列化,則返回的json是沒有這個(gè)字段的。這樣對移動(dòng)端會更省流量
  // 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、在啟動(dòng)類Application中,記得添加Scan注解,防止無法掃描到配置類。

ps:下面看下spring boot 使用 json 響應(yīng)時(shí)去除 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項(xiàng)目中處理返回json的null值,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

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

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

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

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

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

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

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

    解讀@SpringBootApplication注解有什么用

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

英吉沙县| 莎车县| 蓝山县| 务川| 墨竹工卡县| 乌鲁木齐市| 大姚县| 文登市| 星座| 北票市| 定襄县| 吉木萨尔县| 柘荣县| 镶黄旗| 壶关县| 静宁县| 台北市| 广宗县| 嘉荫县| 曲松县| 通渭县| 南通市| 英超| 广州市| 白沙| 靖远县| 新源县| 正安县| 杭锦后旗| 石棉县| 明星| 江陵县| 南安市| 易门县| 舟曲县| 肇东市| 慈利县| 仙游县| 上林县| 黑河市| 沂水县|