在下面的例子中,我有一个主类A和它的子类B。这两个类都可以作为通用类X中的属性。
我可以帮您进行翻译。以下是关于如何使用Jackson多态特性,正确地将下面给定的Json反序列化为它们各自的类的内容:
Json A:
期望结果:将地图键对象映射到 JSON A 的 A 类和 JSON B 的 B 类。 请提出替代建议。
public class A
{
@JsonProperty("primary_key")
public final String primaryKey;
@JsonCreator
A(@JsonProperty("primary_key") String primaryKey)
{
this.primaryKey = primaryKey;
}
}
public class B extends A
{
@JsonProperty("secondary_key")
public final String secondaryKey;
@JsonCreator
B(@JsonProperty("primary_key") String primaryKey, @JsonProperty("secondary_key") String secondaryKey)
{
super(primaryKey);
this.secondaryKey = secondaryKey;
}
}
public class X
{
@JsonProperty("keys")
public final A keys;
@JsonCreator
X(@JsonProperty("keys") A keys)
{
this.keys = keys;
}
}
我可以帮您进行翻译。以下是关于如何使用Jackson多态特性,正确地将下面给定的Json反序列化为它们各自的类的内容:
Json A:
{ "keys" :{
"primary_key" : "abc"
}
}
JSON B :
{ "keys" : {
"primary_key" : "abc",
"secondary_key" : "xyz"
}
}
期望结果:将地图键对象映射到 JSON A 的 A 类和 JSON B 的 B 类。 请提出替代建议。