Java開發中POJO和JSON互轉時如何忽略隱藏欄位
阿新 • • 發佈:2021-02-03
![](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`或者`""`。如果業務需要批量提供使用者資訊,