java生成json實(shí)現(xiàn)隱藏掉關(guān)鍵屬性
java生成json隱藏關(guān)鍵屬性
今天在工作中遇到一個(gè)這樣的問(wèn)題,當(dāng)后端返回?cái)?shù)據(jù)時(shí)一些關(guān)鍵信息或敏感信息并不想返回到前端,但是又懶得定義專(zhuān)用的DTO返回怎么辦(強(qiáng)烈不推薦,最好定義專(zhuān)用的DTO返回),比如一張用戶表有屬性有用戶名、密碼、昵稱(chēng)、頭像、性別、個(gè)人簡(jiǎn)介,用@ResponseBody生成json直接用戶名和密碼都輸出到前臺(tái)展示了,用戶名和密碼這兩個(gè)屬性怎么隱藏掉。
我們項(xiàng)目中使用的是Spring Boot,默認(rèn)用的是Jackson做JSON的serialization/deserialization。
因此解決方案如下
用@JsonIgnore或@JsonProperty注解就可以了
private String password;?
@JsonIgnore
public String getPassword(){}或者
@JsonProperty(access = Access.WRITE_ONLY) private String password;
其實(shí)方法還有很多,例如還可以寫(xiě)過(guò)濾器來(lái)實(shí)現(xiàn),如果你使用的是FastJson轉(zhuǎn)Json字符串,想要忽略指定屬性可以使用注解@JSONFie 。
例如:
public class FastJsonInputBean implements Serializable {
? ? private String contractTemplateId;
? ? private String contractId;
? ? @JSONField(serialize = false)
? ? private String contractImage;
? ? private String contractVersion;?
}
java實(shí)體轉(zhuǎn)json忽略屬性
import com.alibaba.fastjson.annotation.JSONField;
fastjson 過(guò)濾指定字段
@JSONField(serialize=false) private String message;
序列化的時(shí)候就不會(huì)包含這個(gè)字段。
另外, 你從一個(gè)bean中只取一個(gè)字段,沒(méi)必要這樣做,你完全可以定義一個(gè)新的bean。
@JsonIgnoreProperties(value={"addressId"})//在解析成json時(shí),忽略子屬性的addressId字段
public class DicType {
private String addressId;
}@JsonIgnore private String img;
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring中12種@Transactional的失效場(chǎng)景(小結(jié))
日常我們進(jìn)行業(yè)務(wù)開(kāi)發(fā)時(shí),基本上使用的都是聲明式事務(wù),即為使用@Transactional注解的方式,本文主要介紹了spring中12種@Transactional的失效場(chǎng)景,感興趣的小伙伴們可以參考一下2022-01-01
Java中動(dòng)態(tài)規(guī)則的實(shí)現(xiàn)方式示例詳解
這篇文章主要介紹了Java中動(dòng)態(tài)規(guī)則的實(shí)現(xiàn)方式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
mybatis參數(shù)String與Integer類(lèi)型的判斷方式
這篇文章主要介紹了mybatis參數(shù)String與Integer類(lèi)型的判斷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
springBoot controller,service,dao,mapper,model層的作用說(shuō)明
這篇文章主要介紹了springBoot controller,service,dao,mapper,model層的作用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11

