成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java jackson 將對(duì)象轉(zhuǎn)json時(shí),忽略子對(duì)象的某個(gè)屬性操作

瀏覽:13日期:2022-08-23 10:12:05

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

//父對(duì)象public class user implements java.io.Serializable {@JsonIgnoreProperties(value={'addressId'})//在解析成json時(shí),忽略子屬性的addressId字段private Address address;private String username;//.........}//子對(duì)象public class Address implements java.io.Serializable {private int addressId;private String address;private String phone;//..........}//注:當(dāng)對(duì)象是hibernate查出來(lái)的代理對(duì)象時(shí),一對(duì)多對(duì)象會(huì)給子對(duì)象注入handler和hibernateLazyInitializer屬性,如果給jackson解析就會(huì)報(bào)錯(cuò)//在一對(duì)多或多對(duì)一字段前加上@JsonIgnoreProperties(value={'handler','hibernateLazyInitializer'})即可

補(bǔ)充知識(shí):SpringMVC 返回實(shí)體對(duì)象時(shí)屏蔽某些屬性

SpringMVC 可以直接已JSON的結(jié)果返回實(shí)體對(duì)象,可是返回時(shí)是所有屬性與屬性值都會(huì)一并返回,

怎樣才能屏蔽某些屬性?方法很簡(jiǎn)單,只要在實(shí)體對(duì)象類(lèi)中要屏蔽的屬性值上加 @JsonIgnore 注解,如:

@JsonIgnore

private String authorPassword;

屬性即可被屏蔽,就不用擔(dān)心有該屬性與屬性值返回到客戶(hù)端了。

另外,如果僅僅從 MyBatis 的 mapper 里面的 select 語(yǔ)句中只選需要的字段而不選需要被屏蔽的字段,

這種方法行不通,因?yàn)樽詈筮€是會(huì)返回所有屬性,只不過(guò)未被選中的字段會(huì)有 null 的屬性值。

以上這篇java jackson 將對(duì)象轉(zhuǎn)json時(shí),忽略子對(duì)象的某個(gè)屬性操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java