第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

杰克遜@JsonGetter和@JsonSetter如何工作

杰克遜@JsonGetter和@JsonSetter如何工作

縹緲止盈 2024-01-05 09:55:22
我正在使用 jackson 2.10.0 ( https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core/2.10.0 ),以下是一個(gè)簡(jiǎn)單的測(cè)試用例Person類的定義如下,對(duì)于setter,我使用了@JsonSetter注解,而對(duì)于getter沒有使用@JsonGetter,import com.fasterxml.jackson.annotation.JsonProperty;public class Person {    private String firstName;    private String lastName;    public String getFirstName() {        return firstName;    }    @JsonSetter("first_name")    public void setFirstName(String firstName) {        this.firstName = firstName;    }    public String getLastName() {        return lastName;    }    @JsonSetter("last_name")    public void setLastName(String lastName) {        this.lastName = lastName;    }}然后,我創(chuàng)建一個(gè) Person 對(duì)象,并將其序列化為字符串,import com.fasterxml.jackson.databind.ObjectMapper;public class Person3Test2 {    public static void main(String[] args) throws Exception {        Person p = new Person();        p.setFirstName("abc");        p.setLastName("def");        String str = new ObjectMapper().writeValueAsString(p);        System.out.println(str);    }}它會(huì)調(diào)用 Person 的 getter,因?yàn)樗皇褂?@JsonGetter,所以我認(rèn)為輸出應(yīng)該是{"firstName":"abc","lastName":"def"}但是,我驚訝地發(fā)現(xiàn)它是:{"first_name":"abc","last_name":"def"}看來 @JsonSetter 影響了 getter 輸出,我想問這里的行為是什么。
查看完整描述

1 回答

?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

@JsonSetter會(huì)在序列化期間生效,這也是 github 問題,如果你想要不同的名稱,只需@JsonGetterget方法上使用另一個(gè)注釋

文檔可能有誤;@JsonSetter 不僅影響反序列化。雖然它確實(shí)可以用于非對(duì)稱命名(類似于 @JsonProperty 本身帶有“split”注釋),但它的范圍不受限制。可能在某個(gè)時(shí)候是這樣,但是在統(tǒng)一屬性處理之后(在 1.8 左右),各種屬性訪問器之間的分離程度減少了。

我可以查看 Javadoc 來明確指出,沒有任何注釋的范圍受到嚴(yán)格限制——有些注釋可能只與其中之一相關(guān),但沒有一個(gè)注釋是有意分開的。


查看完整回答
反對(duì) 回復(fù) 2024-01-05
  • 1 回答
  • 0 關(guān)注
  • 241 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)