1. 程式人生 > >Java開發中POJO和JSON互轉時如何忽略隱藏欄位

Java開發中POJO和JSON互轉時如何忽略隱藏欄位

![](https://img2020.cnblogs.com/other/1739473/202102/1739473-20210203103534561-1966374104.png) ## 1. 前言 在**Java**開發中有時候某些敏感資訊我們需要遮蔽掉,不能被消費這些資料的客戶端知道。通常情況下我們會將其設定為`null`或者空字元` ""`,其實還有其它辦法,如果你使用了**Jackson**的話。接下來我將以一個實際場景來告訴你可以怎麼做。 ## 2. Jackson如何忽略欄位 這裡都以JSON序列化為例。假如我們在業務中需要返回使用者資訊,已有的POJO是這樣的: ```java import lombok.Data; /** * @author felord.cn */ @Data public class UserInfo { /** * userid */ private String userId; /** * 使用者名稱 */ private String username; /** * 金鑰串 */ private String secret; /** * 地址資訊 */ private String address; } ``` 業務場景:第三方通過使用者的`userId`來獲取使用者的資訊,但是金鑰串`secret`顯然不能讓第三方知道,通常最容易想到的方法是將`secret`欄位設定為`null`或者`""`。如果業務需要批量提供使用者資訊,