2010-11-12 50 views
31

我有以下的JSON文件:傑克遜:忽略Json的配置價值


{ 
    "segments": {   
      "externalId": 123, 
      "name": "Tomas Zulberti", 
      "shouldInform": true, 
      "id": 4 
    } 
} 

但Java模型如下:


public class Segment { 

    private String id; 
    private String name; 
    private boolean shouldInform; 

    // getter and setters here... 
} 

當傑克遜被解析它拋出一個異常監守沒有getter或setter的字段「externalId」。它有一個可以用來忽略json字段的裝飾器嗎?

回答

67

您可以使用註釋@JsonIgnoreProperties;如果這是你想要跳過只是一個值,是這樣的:

@JsonIgnoreProperties({"externalId"}) 

,或者忽略任何不能用於:

@JsonIgnoreProperties(ignoreUnknown=true) 

還有其他的方法來做到這一點,休息檢查出​​。

+0

鏈接的FasterXML傑克遜維基現已不復存在。 – jackthehipster 2016-07-26 12:12:51

2

此外,我們可以使用mapper.enable(DeserializationFeature。FAIL_ON_IGNORED_PROPERTIES); 代替@JsonIgnoreProperties(ignoreUnknown =真)

但對於特定的屬性,我們可以使用

@JsonIgnoreProperties({"externalId"}) 
public class Segment { 

    private String id; 
    private String name; 
    private boolean shouldInform; 

    // getter and setters here... 
}