Jackson XML 按条目的属性对数组进行排序

Jackson XML sort array by entry's attribute

提问人:Damir Yablonskikh 提问时间:10/1/2023 更新时间:10/1/2023 访问量:23

问:

我有一个模型属性,在 XML 中是 <Attributes/> 标签内的条目(<Long>、<String> 等):

<Attributes>
  <Long position="1"/>
  <String position="0"/>
  <String position="2"/>
</Attributes>

模型本身如下所示:

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class Attribute {

  @JacksonXmlProperty(isAttribute = true)
  private String name;

  @JacksonXmlProperty(isAttribute = true)
  private String label;

  @JacksonXmlProperty(isAttribute = true)
  private Integer position;
}

对于数组:

@Data
@NoArgsConstructor
@JacksonXmlRootElement
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AttributeWrapper {

  @JacksonXmlElementWrapper(useWrapping = false)
  @JacksonXmlProperty(localName = "String")
  private List<StringAttribute> stringAttributes;

  @JacksonXmlElementWrapper(useWrapping = false)
  @JacksonXmlProperty(localName = "Long")
  private List<LongAttribute> longAttributes;

  @JacksonXmlElementWrapper(useWrapping = false)
  @JacksonXmlProperty(localName = "Double")
  private List<DoubleAttribute> doubleAttributes;

  @JacksonXmlElementWrapper(useWrapping = false)
  @JacksonXmlProperty(localName = "Date")
  private List<DateAttribute> dateAttributes;

  // constructor and setters for lists
}

我希望 <Attributes/> 数组中的条目根据标签的“position”属性进行排序,如何使用 Jackson XML 实现这一点?

Java XML 解析 Jackson-databind

评论


答: 暂无答案