繁体   English   中英

将需要反序列化的json字段限制为java对象的字段

[英]Limiting the json fields that need to be deserialized into java object's fields

我有一个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支持(其余模板:getForEntity()),并在此过程中收到错误,怎么能我忽略了json中的这些字段? 此外,还有一些方法,在序列化时,我只序列化那些在序列化时具有非空值的对象属性。

在类级别添加此批注以忽略未知属性:

@JsonIgnoreProperties(ignoreUnknown = true)

或者使用ObjectMapper

objectMapper.configure
      (DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);

仅适用于非null:

@JsonInclude(Include.NON_NULL)

或者对于Jackson ObjectMapper

objectMapper.setSerializationInclusion(Include.NON_NULL);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM