我有以下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”字段没有getter或setter。它有一个可以用来忽略json字段的装饰器吗?
答案 0 :(得分:68)
您可以使用注释@JsonIgnoreProperties
;如果它只是你想要跳过的一个值,就像:
@JsonIgnoreProperties({"externalId"})
或忽略任何无法使用的内容:
@JsonIgnoreProperties(ignoreUnknown=true)
还有其他方法可以执行此操作,暂停查看FasterXML Jackson wiki。
答案 1 :(得分:2)
我们也可以使用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...
}