有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用Jackson将Java8 LocalDateTime序列化为UTC时间戳

我刚刚根据新的(ish)Java8时间包将许多日期转换为LocalDateTime。到目前为止,我一直很喜欢这种转换,直到我开始尝试序列化和反序列化

我如何配置Jackson来支持他们?:

LocalDateTime--序列化-->;UTC时间戳--反序列化-->;LocalDateTime

这里有大量关于转换为格式化字符串的资料,但我似乎找不到utc时间戳的现成解决方案


共 (2) 个答案

  1. # 1 楼答案

    以下是如何简单高效地完成这项工作:

    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="EEE MMM dd HH:mm:ss Z yyyy")
    @JsonProperty("created_at") 
    ZonedDateTime created_at;
    

    这是一个问题的引语:Jackson deserialize date from Twitter to `ZonedDateTime`,所以这可能是一个重复的问题

  2. # 2 楼答案

    您可以利用the ^{},而不是手动重写所有内容:

    ObjectMapper om = new ObjectMapper();
    om.registerModule(new JavaTimeModule());
    om.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);