2016-10-04 38 views
1

我的目標是將jsonObject轉換爲Class。我想只添加在Class中被賦值的字段。例如:json對象包含50個字段。類有4個領域。我想只映射確切的4個字段,而不需要在類中添加46個添加忽略。Jackson ObjectMapper忽略所有沒有註釋的屬性

JSON:

{ 
    "id": "1", 
    "name": "John", 
    "Address": "Some Address 7009", 
} 

類別:

public static class User { 
    Integer id; 
    String name; 

    public User (@JsonProperty("id")Integer id, @JsonProperty("name")String name { 
      this.id= id; 
      this.name= name; 
    } 
    .... 
} 

用戶類沒有地址字段。我的目標是排除它,因爲它沒有註釋。

+0

您需要爲您不想要的剩餘屬性添加@JsonIgnore – Nimesh

+0

您是否閱讀我的問題? – TeodorKolev

+0

這是不可能的。你可以在剩下的屬性上分配@JsonIgnore,或者你可以做週轉,你可以改變json鍵不匹配對象屬性,反之亦然。 – Nimesh

回答

3

標註與@JsonIgnoreProperties類,如下:

@JsonIgnoreProperties(ignoreUnknown = true) 
public class User { 
    ... 
} 

ignoreUnknowntrue,是無法識別的(也就是說,沒有接受他們制定者或創作者)的所有屬性都沒有出現警告忽略(儘管未知屬性的處理程序(如果有的話)仍將被調用)。

+0

這是用於任何新的屬性,這是不是在類 – Nimesh

+0

@Naman中可用請你澄清你的評論? –

+0

TeodorKolev在類中有40個屬性,在json中有40個鍵,他只希望將4個屬性轉換爲Java對象屬性。剩下的應該是默認值,如null,0或其他。提供課堂級別的註釋不會解決這個問題 – Nimesh

相關問題