Джексон: игнорировать значение конфигурации Json - PullRequest
33 голосов
/ 12 ноября 2010

У меня есть следующий файл 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...
}

Когда Джексон выполняет синтаксический анализ, он вызывает исключение, потому что нет геттерасеттер для поля "externalId".Есть ли декоратор, который можно использовать для игнорирования поля JSON?

Ответы [ 2 ]

69 голосов
/ 12 ноября 2010

Вы можете использовать аннотацию @JsonIgnoreProperties;если вы хотите пропустить только одно значение, например:

@JsonIgnoreProperties({"externalId"})

или игнорировать все, что не может быть использовано:

@JsonIgnoreProperties(ignoreUnknown=true)

Есть и другие способы сделать это тоже, для отдыха проверьте FasterXML Jackson wiki .

2 голосов
/ 26 июня 2014

Также мы можем использовать mapper.enable (DeserializationFeature. FAIL_ON_IGNORED_PROPERTIES );вместо этого @JsonIgnoreProperties (ignoreUnknown = true)

, но для конкретного свойства мы можем использовать

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

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

    // getter and setters here...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...