欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Jackson序列化和反序列化忽略字段操作

 更新時(shí)間:2020年09月28日 09:10:28   作者:情非得已1991  
這篇文章主要介紹了Jackson序列化和反序列化忽略字段操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

一、設(shè)置Jackson序列化時(shí)只包含不為空的字段

new ObjectMapper().setSerializationInclusion(Include.NON_NULL);

二、設(shè)置在反序列化時(shí)忽略在JSON字符串中存在,而在Java中不存在的屬性

new ObjectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);

三、Jackson序列化時(shí)忽略字段的方式

1、方式一:FilterProvider

a)在需要忽略某些字段的bean上添加@JsonFilter("fieldFilter")

b)ObjectMapper設(shè)置過(guò)濾器

  FilterProvider filterProvider = new SimpleFilterProvider();

  SimpleBeanPropertyFilter fieldFilter = SimpleBeanPropertyFilter().serializeAllExcept("name");
  filterProvider.addFilter("fieldFilter");
  new ObjectMapper.setFilters(filterProvider );

2、方式二:使用@JsonIgnore

在需要忽略的字段上標(biāo)注注解@JsonIgnore,在序列化時(shí)即可忽略該字段

補(bǔ)充知識(shí):Jackson 序列化對(duì)象成 JSON 字符串,忽略部分字段(屬性)

1、屬性上 加 @JsonIgnore

這種方式作用于全局,只要是有這個(gè)對(duì)象的序列化,就會(huì)忽略注解過(guò)的這部分字段。

2、上面那種方式需要在 bean 上加注解,作用于全局,但是有的時(shí)候,我們可能不需要在所有情況下都忽略這個(gè)對(duì)象的這些字段,下面這種方式可以支持定制過(guò)濾方式。

public final class JsonFilterUtil {

  /**
   * 添加過(guò)濾的字段,這里過(guò)濾的是 ThinActivityInfo 這個(gè) bean 下的 
   * "startAt", "expiredAt", "extra" 三個(gè)字段
   */
  public static void addFilterForMapper(ObjectMapper mapper) {
    SimpleBeanPropertyFilter fieldFilter = SimpleBeanPropertyFilter.serializeAllExcept(
        Sets.newHashSet("startAt", "expiredAt", "extra"));
    SimpleFilterProvider filterProvider = new SimpleFilterProvider().addFilter("fieldFilter", fieldFilter);
    mapper.setFilterProvider(filterProvider).addMixIn(ThinActivityInfo.class, FieldFilterMixIn.class);
  }

  /**
   * 定義一個(gè)類或接口
   */
  @JsonFilter("fieldFilter")
  interface FieldFilterMixIn{
  }
}

以上這篇Jackson序列化和反序列化忽略字段操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • @KafkaListener 如何使用

    @KafkaListener 如何使用

    這篇文章主要介紹了@KafkaListener 如何使用,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家詳細(xì)講解,文末給大家介紹了kafka的消費(fèi)者分區(qū)分配策略,需要的朋友可以參考下
    2023-02-02
  • 新手必備的IDEA常用設(shè)置總結(jié)

    新手必備的IDEA常用設(shè)置總結(jié)

    今天給大家總結(jié)了一些IDEA的常用設(shè)置,文中有非常詳細(xì)的圖文介紹,對(duì)正在學(xué)習(xí)使用IDEA的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • RocketMQ順序消息的原理與特點(diǎn)

    RocketMQ順序消息的原理與特點(diǎn)

    RocketMQ作為一款純java、分布式、隊(duì)列模型的開源消息中間件,支持事務(wù)消息、順序消息、批量消息、定時(shí)消息、消息回溯等,本篇我們了解如何實(shí)現(xiàn)順序消息的原理與特點(diǎn)
    2023-02-02
  • Java判斷當(dāng)前日期是周幾的方法匯總

    Java判斷當(dāng)前日期是周幾的方法匯總

    在Java編程中,我們經(jīng)常會(huì)遇到需要獲取當(dāng)前日期是周幾的需求。根據(jù)國(guó)際慣例,一周通常是從周一開始,到周日結(jié)束,記作1至7,本文將介紹幾種常用的Java方法,讓你能夠準(zhǔn)確地判斷當(dāng)前日期是周幾,感興趣的朋友一起看看吧
    2024-03-03
  • Java多線程教程之如何利用Future實(shí)現(xiàn)攜帶結(jié)果的任務(wù)

    Java多線程教程之如何利用Future實(shí)現(xiàn)攜帶結(jié)果的任務(wù)

    Callable與Future兩功能是Java?5版本中加入的,這篇文章主要給大家介紹了關(guān)于Java多線程教程之如何利用Future實(shí)現(xiàn)攜帶結(jié)果任務(wù)的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • 分隔List集合,按指定大小,將集合分成多個(gè)的方法

    分隔List集合,按指定大小,將集合分成多個(gè)的方法

    下面小編就為大家?guī)?lái)一篇分隔List集合,按指定大小,將集合分成多個(gè)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Java調(diào)用opencv IDEA環(huán)境配置的教程詳解

    Java調(diào)用opencv IDEA環(huán)境配置的教程詳解

    這篇文章主要為大家詳細(xì)介紹了Java調(diào)用opencv IDEA環(huán)境配置的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • JFileChooser實(shí)現(xiàn)對(duì)選定文件夾內(nèi)圖片自動(dòng)播放和暫停播放實(shí)例代碼

    JFileChooser實(shí)現(xiàn)對(duì)選定文件夾內(nèi)圖片自動(dòng)播放和暫停播放實(shí)例代碼

    這篇文章主要介紹了JFileChooser實(shí)現(xiàn)對(duì)選定文件夾內(nèi)圖片自動(dòng)播放和暫停播放實(shí)例代碼,需要的朋友可以參考下
    2017-04-04
  • Java泛型常見面試題(面試必問(wèn))

    Java泛型常見面試題(面試必問(wèn))

    泛型在java中有很重要的地位,在面向?qū)ο缶幊碳案鞣N設(shè)計(jì)模式中有非常廣泛的應(yīng)用。java泛型知識(shí)點(diǎn)也是Java開發(fā)崗位必問(wèn)的一個(gè)話題,今天小編就給大家普及下Java泛型常見面試題,感興趣的朋友一起看看吧
    2021-06-06
  • idea指定啟動(dòng)參數(shù)、環(huán)境變量的過(guò)程

    idea指定啟動(dòng)參數(shù)、環(huán)境變量的過(guò)程

    這篇文章主要介紹了idea指定啟動(dòng)參數(shù)、環(huán)境變量的操作過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07

最新評(píng)論