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;//..........}//注:當(dāng)對象是hibernate查出來的代理對象時,一對多對象會給子對象注入handler和hibernateLazyInitializer屬性,如果給jackson解析就會報錯//在一對多或多對一字段前加上@JsonIgnoreProperties(value={'handler','hibernateLazyInitializer'})即可
補充知識:SpringMVC 返回實體對象時屏蔽某些屬性
SpringMVC 可以直接已JSON的結(jié)果返回實體對象,可是返回時是所有屬性與屬性值都會一并返回,
怎樣才能屏蔽某些屬性?方法很簡單,只要在實體對象類中要屏蔽的屬性值上加 @JsonIgnore 注解,如:
@JsonIgnore
private String authorPassword;
屬性即可被屏蔽,就不用擔(dān)心有該屬性與屬性值返回到客戶端了。
另外,如果僅僅從 MyBatis 的 mapper 里面的 select 語句中只選需要的字段而不選需要被屏蔽的字段,
這種方法行不通,因為最后還是會返回所有屬性,只不過未被選中的字段會有 null 的屬性值。
以上這篇java jackson 將對象轉(zhuǎn)json時,忽略子對象的某個屬性操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
