我有一个Json:
{
"a1":"a1Value",
"a2":"a2Value",
"a3":"a3Value",
"a4":"a4Value",
"a5":"a5Value"
}
Java类是:
class Response {
private String a1;
private String a2;
private String a3;
//public getters and setters
}
现在我只需要将Json中的3个字段反序列化到对象的3个字段中,我使用的是Spring 3.2.2 MVC,用于REST支持(rest模板:getForEntity()),并在此过程中收到错误,我怎么能忽略json中的这些字段?此外,还有一些方法,在序列化时,我只序列化那些在序列化时具有非空值的对象属性。
答案 0 :(得分:4)
在类级别添加此注释以忽略未知属性:
@JsonIgnoreProperties(ignoreUnknown = true)
或ObjectMapper
:
objectMapper.configure
(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
仅限非null:
@JsonInclude(Include.NON_NULL)
或杰克逊ObjectMapper
:
objectMapper.setSerializationInclusion(Include.NON_NULL);