Jackson: Ignore Json configuration value
Pergunta
I have the following json file:
{
"segments": {
"externalId": 123,
"name": "Tomas Zulberti",
"shouldInform": true,
"id": 4
}
}
But the java model is as follows:
public class Segment {
private String id;
private String name;
private boolean shouldInform;
// getter and setters here...
}
When Jackson is parsing it raises an exception becuase there is no getter or setter for the field "externalId". It there a decorator that can be used to ignore a json field?
Solução
You can use annotation @JsonIgnoreProperties
; if it's just one value you want to skip, something like:
@JsonIgnoreProperties({"externalId"})
or to ignore anything that can't be used:
@JsonIgnoreProperties(ignoreUnknown=true)
There are other ways to do it too, for rest check out FasterXML Jackson wiki.
Outras dicas
Also we can use mapper.enable(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES); instead @JsonIgnoreProperties(ignoreUnknown=true)
but for particular property we can use
@JsonIgnoreProperties({"externalId"})
public class Segment {
private String id;
private String name;
private boolean shouldInform;
// getter and setters here...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow