1 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
這可以通過 來完成XmlAdapter。
創(chuàng)建一個(gè)擴(kuò)展類,XmlAdapter將其轉(zhuǎn)換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();
}
}
并注釋要轉(zhuǎn)換為 LocalDateTime 的字段:
@XmlAttribute(name="ts")
@XmlJavaTypeAdapter(LocalDateTimeAdapter.class)
private LocalDateTime timeStampAsLocalDateTime;
(正如評論中已經(jīng)提到的LocalDateTime可能有問題,OffsetDateTime或者Instant可能更適合。這種方法是相同的,只是替換類和解析邏輯)
添加回答
舉報(bào)