はい、あなたが本当にこのような何か、その後、すべての余分な/認識できないパラメータを保持したいんと仮定すると、そこにある:あなたがDeserializationProblemHandlerの実装を定義することを選択できるパラメータのグローバルな処理を設定するには
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);
}
}
をObjectMapperの設定でグローバルに登録します。あなたが本当に未知のパラメータについてないケアを行う見つけた場合、あなたは、単にそれらを
DeserializationProblemHandler handler = new MyDeserializationProblemHandler();
ObjectMapper.getDeserializationConfig().addHandler(handler);
オフにすることができます。 - パラメータはキー値parirsない場合はどのような
objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false)
感謝を:@JsonIgnoreProperties(ignoreUnknown =真)と、クラス単位で、またはグローバルObjectMapper構成することにより?つまり、入力がリストの場合はどうなりますか? @JsonAnySetterメソッドの入力パラメータとしてObject []を使用できますか? – jayunit100
nnプリミティブは、キーと値のペアの値として格納できます。唯一の注意点は、マップから後で検索するときにキーの種類を知る必要があることです。 – Perception
これは超クールです。 – rfinz