1 回答
TA贡献1830条经验 获得超3个赞
这可以通过 来完成XmlAdapter。
创建一个扩展类,XmlAdapter将其转换String为LocalDateTime
public class LocalDateTimeAdapter extends XmlAdapter<String, LocalDateTime> {
@Override
public LocalDateTime unmarshal(String v) throws Exception {
if (v == null) {
return null;
}
return ZonedDateTime.parse(v).toLocalDateTime();
}
@Override
public String marshal(LocalDateTime v) throws Exception {
if (v == null) {
return null;
}
return v.toString();
}
}
并注释要转换为 LocalDateTime 的字段:
@XmlAttribute(name="ts")
@XmlJavaTypeAdapter(LocalDateTimeAdapter.class)
private LocalDateTime timeStampAsLocalDateTime;
(正如评论中已经提到的LocalDateTime可能有问题,OffsetDateTime或者Instant可能更适合。这种方法是相同的,只是替换类和解析逻辑)
添加回答
举报