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可能更適合。這種方法是相同的,只是替換類和解析邏輯)
添加回答
舉報