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

@JsonDeserialize和@JsonSerialize注解的使用方式

 更新時間:2024年08月23日 09:18:47   作者:華妃  
這篇文章主要介紹了@JsonDeserialize和@JsonSerialize注解的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

JsonDeserialize注解介紹

@JsonDeserialize

  • json反序列化注解,作用于setter()方法,將json數(shù)據反序列化為java對象。
  • 可以理解為用在處理接收的數(shù)據上。

使用場景

  • 前端傳遞的參數(shù)與后端實際接收的參數(shù)不一致時,可以通過反序列化注解處理。
  • (比如將前端傳遞的主鍵集合轉換成用逗號分隔的字符串)

使用示例

假如前端頁面中選擇多條數(shù)據,會向后端傳遞選中的數(shù)據對象集合,但是后端期望存儲選中的多個數(shù)據id用逗號分隔,此時可以用反序列注解。

1、自定義反序列化的方式

public class CheckedStringDeserializer extends JsonDeserializer<String> {

    @Override
    public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
        final List<Map<String, String>> list = p.getCodec().readValue(p, new TypeReference<List<Map<String, String>>>() {
        });
        if (CollUtil.isNotEmpty(list)) {
            final ArrayList<String> objects = new ArrayList<>(list.size());
            list.forEach(e -> objects.add(e.get("id")));
            return CollUtil.join(objects, ",");
        }
        return "";
    }
}

2、后端接收參數(shù)的dto如下圖所示,其中臨時黨支部人員Id接收的是String類型,增加了該反序列化注解。

3、前端傳遞參數(shù)如下圖所示:

4、后端實際接收到的參數(shù)如圖所示:

@JsonSerialize注解

@JsonSerialize

  • json序列化注解,作用于getter()方法,將java對象序列化為json數(shù)據。
  • 可以理解為用在處理返回的數(shù)據上

使用場景

后端返回前端的參數(shù)與前端期望的參數(shù)不一致時,可以用個序列化注解處理。(比如數(shù)據脫敏、數(shù)據格式處理等)

使用示例

假如后端存儲附件、圖片或者其他文件時,只存了文件key,此時前端反顯需要將數(shù)據放在list中回顯。

1、自定義序列化處理方式

public class FileUploadSeserializer extends JsonSerializer<String> {

    @Override
    public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
        //將string轉為List<Map<String,String>>格式
        Map<String,String> map = new HashMap<>(2);
        List<Map<String,String>> list = new ArrayList<>(1);
        map.put("key", value);
        map.put("name",value);
        list.add(map);
        gen.writeObject(list);
    }
}

2、返回前端的vo對象如下圖所示,其中其中模板背景期望為附件的Key和name對象集合,在該字段上增加了文件上傳序列化注解。

3、此時返回前端的數(shù)據格式為

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java源碼刨析之ArrayQueue

    Java源碼刨析之ArrayQueue

    在本篇文章當中主要給大家介紹一個比較簡單的JDK為我們提供的容器ArrayQueue,這個容器主要是用數(shù)組實現(xiàn)的一個單向隊列,整體的結構相對其他容器來說就比較簡單了
    2022-07-07
  • Java實現(xiàn)自定義枚舉值校驗器的示例代碼

    Java實現(xiàn)自定義枚舉值校驗器的示例代碼

    這篇文章主要為大家詳細介紹了Java實現(xiàn)自定義枚舉值校驗器的相關資料,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2023-02-02
  • Java編程實現(xiàn)生成給定范圍內不重復隨機數(shù)的方法小結

    Java編程實現(xiàn)生成給定范圍內不重復隨機數(shù)的方法小結

    這篇文章主要介紹了Java編程實現(xiàn)生成給定范圍內不重復隨機數(shù)的方法,結合實例形式總結分析了java基于數(shù)學運算與判斷實現(xiàn)不重復隨機數(shù)的生成功能,需要的朋友可以參考下
    2017-07-07
  • java實現(xiàn)日歷應用程序設計

    java實現(xiàn)日歷應用程序設計

    這篇文章主要為大家詳細介紹了java實現(xiàn)日歷應用程序設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 一文詳解如何在SpringMVC的視圖中渲染模型數(shù)據

    一文詳解如何在SpringMVC的視圖中渲染模型數(shù)據

    SpringMVC是一個基于Spring框架的Web框架,它提供了一種方便的方式來處理 HTTP 請求和響應,在SpringMVC中,視圖是用來渲染模型數(shù)據的組件,它們負責將模型數(shù)據轉換為HTML、JSON、XML等格式的響應,在本文中,我們將討論如何在SpringMVC中的視圖中渲染模型數(shù)據
    2023-07-07
  • Java如何通過反射獲取Constructor、Field、Method對象

    Java如何通過反射獲取Constructor、Field、Method對象

    反射指的是對象的反向處理操作,根據對象取得對象的來源信息,在反射的世界里面,看重的不再是一個對象,而是對象身后的組成,下面這篇文章主要給大家介紹了關于Java如何通過反射獲取Constructor、Field、Method對象的相關資料,需要的朋友可以參考下
    2022-06-06
  • Maven和MyBatis框架簡單實現(xiàn)數(shù)據庫交互的示例

    Maven和MyBatis框架簡單實現(xiàn)數(shù)據庫交互的示例

    本文主要介紹了Maven和MyBatis框架簡單實現(xiàn)數(shù)據庫交互的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • java實現(xiàn)發(fā)送郵箱驗證碼

    java實現(xiàn)發(fā)送郵箱驗證碼

    這篇文章主要為大家詳細介紹了java實現(xiàn)發(fā)送郵箱驗證碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • java中&和&&的基本區(qū)別與常見的誤用

    java中&和&&的基本區(qū)別與常見的誤用

    &?和&&是Java中用于邏輯運算的兩個運算符,&是按位與和邏輯與兼用的運算符,而&&僅用于邏輯與運算,并具有短路特性,這篇文章主要介紹了java中&和&&的基本區(qū)別與常見的誤用,需要的朋友可以參考下
    2025-02-02
  • Mybatis-Plus 實戰(zhàn)使用與最佳實踐

    Mybatis-Plus 實戰(zhàn)使用與最佳實踐

    Mybatis作為優(yōu)秀的持久層框架,以其靈活性和可控性贏得了廣大開發(fā)者的青睞,本文將從實戰(zhàn)角度出發(fā),深入解析Mybatis-Plus的核心功能和最佳實踐,幫助開發(fā)者快速掌握這一強大的開發(fā)工具,感興趣的朋友跟隨小編一起看看吧
    2025-10-10

最新評論

那曲县| 海阳市| 布拖县| 铜山县| 淄博市| 东城区| 历史| 沅陵县| 黄山市| 呼伦贝尔市| 高雄市| 博兴县| 东海县| 井陉县| 萨迦县| 汤阴县| 扎囊县| 九江市| 山阴县| 达州市| 北票市| 霞浦县| 若羌县| 自贡市| 东乌珠穆沁旗| 抚远县| 韩城市| 玉山县| 疏勒县| 青阳县| 玛沁县| 温州市| 保山市| 翼城县| 阿合奇县| 阳春市| 青阳县| 自治县| 鄱阳县| 电白县| 盐津县|