这是我的课程:
@XmlRootElement(name="Zoo")
class Zoo {
//@XmlElementRef
public Collection<? extends Animal> animals;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlSeeAlso({Bird.class, Cat.class, Dog.class})
@XmlDiscriminatorNode("@type")
abstract class Animal {
@XmlElement
public String name;
}
@XmlDiscriminatorValue("Bird")
@XmlRootElement(name="Bird")
class Bird extends Animal {
@XmlElement
public String wingSpan;
@XmlElement
public String preferredFood;
}
@XmlDiscriminatorValue("Cat")
@XmlRootElement(name="Cat")
class Cat extends Animal {
@XmlElement
public String favoriteToy;
}
@XmlDiscriminatorValue("Dog")
@XmlRootElement(name="Dog")
class Dog extends Animal {
@XmlElement
public String breed;
@XmlElement
public String leashColor;
}
Run Code Online (Sandbox Code Playgroud)
这是序列化的JSON:
{
"animals": [
{
"type": "Bird",
"name": "bird-1",
"wingSpan": …Run Code Online (Sandbox Code Playgroud)