亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Jackson 時如何避免反序列化 JSON 字符串中的空 JSON 數組元素

使用 Jackson 時如何避免反序列化 JSON 字符串中的空 JSON 數組元素

Helenr 2022-07-20 16:18:06
我正在使用 Jackson 2 庫,并且正在嘗試對 JSON 響應進行反序列化,如下所示:{    "employee": [    {},    {        "Details": [            {                "Name": "value",                "Lastname": "value"            }        ]    }]}由于某些原因,我的員工數組中有一個空元素。在反序列化過程中是否可以丟棄該元素并避免反序列化它?目前,我的代碼將空員工反序列化為具有空字段的員工 POJO 類。我的代碼如下所示:ObjectMapper mapper = new ObjectMapper();Empoyee[] array = mapper.readValue(json, Empoyee[].class);PS。我無法觸摸 JSON 響應。就是這樣...
查看完整描述

3 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

您需要empty在反序列化過程后編寫自定義反序列化器或過濾掉對象。第二種方法聽起來更容易,因為除了 bean 的自定義反序列化器之外,您需要擴展已經實現的數組反序列化器 ( com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer) 并過濾掉nullemptybean。

查看完整回答
反對 回復 2022-07-20
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

首先,請確保您有 setter、getter 和構造函數,之后,您可以使用以下內容:

Employee employee = mapper.readValue(yourJson, Employee.class);


查看完整回答
反對 回復 2022-07-20
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

希望它會幫助你。


ObjectMapper mapper = new ObjectMapper();

mapper.setSerializationInclusion(Include.NON_NULL);

mapper.setSerializationInclusion(Include.NON_EMPTY); 

或者


ObjectMapper mapper = new ObjectMapper ().configure(

        DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).setSerializationInclusion(

                JsonInclude.Include.NON_NULL);


查看完整回答
反對 回復 2022-07-20
  • 3 回答
  • 0 關注
  • 352 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號