Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 忽略组合对象中的重载方法_Java_Json_Jackson - Fatal编程技术网

Java 忽略组合对象中的重载方法

Java 忽略组合对象中的重载方法,java,json,jackson,Java,Json,Jackson,考虑以下示例: @JsonIgnoreProperties(ignoreUnknown = true) class ModelA { private ModelB modelB; } ModelB引入了两种重载方法,如setProperty(String)和setProperty(Object)。这使Jackson的ObjectMapper对“冲突setter定义”的抱怨变得混乱: 我知道,如果我可以使用继承,那么我就可以像中建议的那样使用@JsonIgnore。我也知道一个底线解决方案是

考虑以下示例:

@JsonIgnoreProperties(ignoreUnknown = true)
class ModelA {
  private ModelB modelB;
}
ModelB
引入了两种重载方法,如
setProperty(String)
setProperty(Object)
。这使Jackson的ObjectMapper对“冲突setter定义”的抱怨变得混乱:

我知道,如果我可以使用继承,那么我就可以像中建议的那样使用
@JsonIgnore
。我也知道一个底线解决方案是开发一个定制的Jackson反序列化程序(尽管在我的例子中非常复杂)。但是,如果我被限制使用合成,我想知道是否有解决方法

Caused by: java.lang.IllegalArgumentException: 
Conflicting setter definitions for property "property": ModelB#setProperty(1 params) vs ModelB#setProperty(1 params)