Per*_*ion 10
是的,假设您确实想要保留所有额外/无法识别的参数,那么执行以下操作:
public class MyBean {
private String field1;
private String field2;
private Integer field3;
private Map <String, Object> unknownParameters ;
public MyBean() {
super();
unknownParameters = new HashMap<String, Object>(16);
}
// Getters & Setters here
// Handle unknown deserialization parameters
@JsonAnySetter
protected void handleUnknown(String key, Object value) {
unknownParameters.put(key, value);
}
}
Run Code Online (Sandbox Code Playgroud)
要配置参数的全局处理,您可以选择定义DeserializationProblemHandler的实现,并使用ObjectMapper配置全局注册它.
DeserializationProblemHandler handler = new MyDeserializationProblemHandler();
ObjectMapper.getDeserializationConfig().addHandler(handler);
Run Code Online (Sandbox Code Playgroud)
如果您发现自己真的不关心未知参数,那么您可以简单地关闭它们.在每个类的基础上使用@JsonIgnoreProperties(ignoreUnknown = true),或者通过配置ObjectMapper全局:
objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2666 次 |
| 最近记录: |