我有一个java对象,该对象具有LocalDateTime属性,我希望使用gson对该属性进行序列化和反序列化。
在这篇文章的帮助下,尝试为GSON创建TypeAdaptor
https://stackoverflow.com/a/39193077/1196875
但得到“不支持的字段:瞬时秒数”
也许我把日期转换搞砸了?
class LocalDateTimeSerializer implements JsonSerializer<LocalDateTime> {
@Override
public JsonElement serialize(LocalDateTime date, Type typeOfSrc, JsonSerializationContext context) {
return new JsonPrimitive(
DateTimeFormatter.ISO_INSTANT.withZone(ZoneId.systemDefault()).withLocale(Locale.getDefault()).format(date)); // "yyyy-mm-ddThhMMssZ"
}
}
1条答案
按热度按时间vu8f3i0k1#
您的问题与Gson无关,仅在运行日期格式化代码时也会出现此问题:
例外情况:
根据此注解,似乎应该在格式化
LocalDateTime
之前将其转换为ZonedDateTime
。