java jackson 將對象轉(zhuǎn)json時,忽略子對象的某個屬性操作
我就廢話不多說了,大家還是直接看代碼吧~
//父對象
public class user implements java.io.Serializable {
@JsonIgnoreProperties(value={"addressId"})//在解析成json時,忽略子屬性的addressId字段
private Address address;
private String username;
//.........
}
//子對象
public class Address implements java.io.Serializable {
private int addressId;
private String address;
private String phone;
//..........
}
//注:當對象是hibernate查出來的代理對象時,一對多對象會給子對象注入handler和hibernateLazyInitializer屬性,如果給jackson解析就會報錯
//在一對多或多對一字段前加上@JsonIgnoreProperties(value={"handler","hibernateLazyInitializer"})即可
補充知識:SpringMVC 返回實體對象時屏蔽某些屬性
SpringMVC 可以直接已JSON的結(jié)果返回實體對象,可是返回時是所有屬性與屬性值都會一并返回,
怎樣才能屏蔽某些屬性?方法很簡單,只要在實體對象類中要屏蔽的屬性值上加 @JsonIgnore 注解,如:
@JsonIgnore
private String authorPassword;
屬性即可被屏蔽,就不用擔心有該屬性與屬性值返回到客戶端了。
另外,如果僅僅從 MyBatis 的 mapper 里面的 select 語句中只選需要的字段而不選需要被屏蔽的字段,
這種方法行不通,因為最后還是會返回所有屬性,只不過未被選中的字段會有 null 的屬性值。
以上這篇java jackson 將對象轉(zhuǎn)json時,忽略子對象的某個屬性操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java報錯:ClassCastException問題解決方法
異常是程序中的一些錯誤,但并不是所有的錯誤都是異常,并且錯誤有時候是可以避免的,下面這篇文章主要給大家介紹了關(guān)于Java報錯:ClassCastException問題解決方法,需要的朋友可以參考下2024-07-07
mybatisplus?@Select注解中拼寫動態(tài)sql異常問題的解決
這篇文章主要介紹了mybatisplus?@Select注解中拼寫動態(tài)sql異常問題的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Java中ThreadLocal使用原理及Synchronized區(qū)別
ThreadLocal叫做線程變量,本文詳細的介紹了ThreadLocal使用原理及Synchronized區(qū)別,有需要的朋友可以參考一下,希望對你有所幫助。2023-05-05
springBoot啟動時讓方法自動執(zhí)行的幾種實現(xiàn)方式
這篇文章主要介紹了springBoot啟動時讓方法自動執(zhí)行的幾種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03

