Jackson XML映射器属性序列化问题

时间:2018-06-25 13:42:56

标签: java xml jackson

下一个带注释的类(序列化为<tours>标记):

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
    name = "Tour",
    propOrder = {"restrictions", "result", "wrappedTourPoints"}
)
@JsonTypeInfo(
    use = Id.NAME,
    include = As.PROPERTY,
    property = "$type",
    defaultImpl = Tour.class
)
@JsonInclude(Include.NON_NULL)
public class Tour extends AbstractTour {...}

我的XmlMapper bean:

@Bean
public XmlMapper xmlMapper() {
    JacksonXmlModule module = new JacksonXmlModule();
    module.setDefaultUseWrapper(false);
    XmlMapper xmlMapper = new XmlMapper(module);
    xmlMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    return xmlMapper;
}

在使用该映射器(com.fasterxml.jackson.dataformat.xml.XmlMapper将该类的实例序列化为XML之后,我检索下一个XML

<TripOptimisationResponse>
    <tourResponses>
        <plan>
            <chains>
                <vehicleId>0</vehicleId>
                <tours
                .type="Tour">
                <startTimeFixed>false</startTimeFixed>
                <id>0</id>
                <tourPointFixation>NONE</tourPointFixation>
                <vehicleFixed>false</vehicleFixed>
                <ignoreIntermediatePeriodOfPreviousTour>false</ignoreIntermediatePeriodOfPreviousTour>
            </tours>
        </chains>
    </plan>
</tourResponses></TripOptimisationResponse>

可以在其中找到 .type 属性。

我的问题是我们是否可以将 .type 更改为 type (不包括点)?
还是我们可以跳过结果XML中的所有属性?

0 个答案:

没有答案