提问人:dinup24 提问时间:4/16/2015 更新时间:10/19/2023 访问量:17390
Jackson:从 XSD 生成 Jackson 类
Jackson: Generate Jackson classes from XSD
问:
与 JAXB 为给定的 XSD 生成 JAXB 类类似,Jackson 是否提供了从 XSD 或 JSON 生成 Jackson 类的任何实用程序。
JAXB 类 geberator 为定义的 XSD 模式生成了一组类。例如,对于多态类型,JAXB 具有以下注释,用于根据 XML 元素名称来标识名称。
@XmlElements({
@XmlElement(name = "Dog", type = Dog.class),
@XmlElement(name = "Cat", type = Cat.class)
})
protected List<Animal> animal;
是否可以在杰克逊创建类似的类。即,根据 XML 元素名称来标识类型。
答:
0赞
Alexander Kashpirovsky
9/16/2022
#1
Jackson 可以自动添加此类信息(请参阅 @JsonTypeInfo)。例如:
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY)
protected List<Animal> animal;
或者将该注释与@JsonSubTypes一起使用:
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = As.PROPERTY,
property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = Dog.class, name = "Dog"),
@JsonSubTypes.Type(value = Cat.class, name = "Cat")
})
protected List<Animal> animal;
此链接很有用。
评论