0

我的 XML 看起来像这样:

<asset  id="35465146">
    <TOV artist="" music="0" episodeNumber="">
        <credit biography="" />
        <credit biography="" />
        <credit biography="" />
        <credit biography="" />
        <castCrew role="Actor" name="John C. Reilly"/>
        <castCrew role="Director" name="Keith Scholey"/>
        <castCrew role="Director" name="Alastair Fothergill"/>
        <castCrew role="Director" name="Adam Chapman"/>
    </TOV>
</asset>

我的资产 POJO 如下所示:

public class asset {
    @Getter @Setter private String id;
    @Getter @Setter private TOV TOV;
}

和 TOV 类看起来像这样:

public class TOV {
    @Getter @Setter private String episodeNumber;
    @Getter @Setter private String music;
    @Getter @Setter private String artist;
    @Getter @Setter private List<credit> credit;
    @Getter @Setter private List<castCrew> castCrew;

}

现在,我运行代码并获得一个空指针。当我调试代码时,我看到资产对象已创建并且 ID 字段已从 XML 中提取。但是,TOV 对象等于 null。我是否需要某种标签来告诉杰克逊 TOV java 对象映射到 XML 对象?另外,在 java List 中有 credit 和 castCrew 会起作用吗?

4

1 回答 1

0

在我失踪的资产类别中

@JacksonXmlProperty(localName = "TOV")

在之上

@Getter @Setter private TOV TOV;

对于我需要添加的列表

@JacksonXmlElementWrapper(useWrapping = false)
@JacksonXmlProperty(localName = "castCrew")

这两个问题都与必须指定它应该映射到 XML 中的 java 中的哪个字段有关

于 2018-05-15T16:21:05.667 回答