我使用jackson库将POJO映射到XML。
compile ('com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.0')在序列化时,我需要忽略一些字段。这是我的POJO课。例如,应该忽略字段lineNumber。
@NoArgsConstructor
@AllArgsConstructor
@Getter
@XmlAccessorType(XmlAccessType.FIELD)
public class InvoiceLineItem {
@JacksonXmlProperty(localName = "LineNumber")
@XmlTransient
private Integer lineNumber;
@JacksonXmlProperty(localName = "ProductCode")
@XmlTransient
private String productCode;
@JacksonXmlProperty(localName = "ProductDescription")
@XmlTransient
private String productDescription;
}我使用@XmlTransient和XmlAccessorType来忽略字段。但是,在序列化时,带XmlTransient注释的XmlTransient字段不会被忽略。
发布于 2019-09-12 16:43:16
尝试将@JsonProperty(access = Access.WRITE_ONLY)注释添加到lineNumber字段。
即使看起来像JSON一样,杰克逊XmlMapper也会识别注释并做出相应的反应。
编辑
XmlMapper应该支持JSON的结论是以下错误推理尝试的一个例子:
XmlMapper不是围绕ObjectMapper的包装类。它是在ObjectMapper之后出现的,并且似乎共享了许多特性,比如处理一些JSON注释。
https://stackoverflow.com/questions/57909933
复制相似问题