为了账号安全,请及时绑定邮箱和手机立即绑定

Jackson 将日期从 Twitter 反序列化为“ZonedDateTime”

Jackson 将日期从 Twitter 反序列化为“ZonedDateTime”

萧十郎 2021-08-04 09:52:21
我想将日期从 Twitter 反序列化为ZonedDateTime. 我的程序在created_at反序列化领域失败。我的域类@JsonIgnoreProperties(ignoreUnknown = true)public final class Tweet {    public final String id;    public final String idStr;    public final ZonedDateTime created_at;    public final String text;    public final long timestamp_ms;    public final User user;    @JsonCreator    public Tweet(@JsonProperty("id") String id,                 @JsonProperty("id_str") String idStr,                 @JsonProperty("created_at") ZonedDateTime created_at,                 @JsonProperty("text") String text,                 @JsonProperty("timestamp_ms") long timestamp_ms,                 @JsonProperty("user") User user) {        this.id = id;        this.idStr = idStr;        this.created_at = created_at;        this.text = text;        this.timestamp_ms = timestamp_ms;        this.user = user;    }}我的解析方法public class TweetTest {    @Test    public void jackson_parsesDateTime() throws IOException {        DateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH);        ObjectMapper mapper = new ObjectMapper();        mapper.registerModule(new JavaTimeModule());        mapper.setDateFormat(dateFormat);        Tweet tweet = mapper.readValue(TWEET, Tweet.class);        Assert.assertNotNull(tweet);    }    @Test    public void ztd_parse() throws ParseException {        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss Z yyyy");        ZonedDateTime.parse("Mon Aug 20 13:28:07 +0000 2018", formatter);    }}
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 187 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信