首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAX-RS Jackson Json提供程序日期格式问题

JAX-RS Jackson Json提供程序日期格式问题
EN

Stack Overflow用户
提问于 2012-06-27 16:30:53
回答 2查看 19.2K关注 0票数 6

WRT回答以下问题:

Jersey + Jackson JSON date format serialization - how to change the format or use custom JacksonJsonProvider

我想知道

  • Jackson是否指定json日期格式应该标准化为unix时间整数?

后续问题.

  • 最近,政府的立场有否改变呢?
  • 日期格式不应该标准化为jaxb xml输出提供的相同格式吗?
  • 为什么/为什么不?
  • 为解决这一问题作出了什么努力?
  • RestEasy是否提供了一个json提供程序缓解,它将以一般可识别的日期格式输出json日期?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-27 19:28:42

很抱歉有人大声喊叫-我在这里找到了答案

http://wiki.fasterxml.com/JacksonFAQDateHandling

这里

Dates

这里

http://wiki.fasterxml.com/JacksonHowToCustomSerializers

这里

http://jackson.codehaus.org/1.1.2/javadoc/org/codehaus/jackson/map/util/StdDateFormat.html

使用@JsonSerialize(using= .)途径:

代码语言:javascript
复制
public class JsonStdDateSerializer
extends JsonSerializer<Date> {
  private static final DateFormat iso8601Format =
    StdDateFormat.getBlueprintISO8601Format();

  @Override
  public void serialize(
    Date date, JsonGenerator jgen, SerializerProvider provider)
  throws IOException, JsonProcessingException {

    // clone because DateFormat is not thread-safe
    DateFormat myformat = (DateFormat) iso8601Format.clone();
    String formattedDate = myformat.format(date);
    jgen.writeString(formattedDate);
  }
}
票数 12
EN

Stack Overflow用户

发布于 2013-05-01 18:45:19

这也是由ObjectMapper上的一个特性控制的(至少在1.9.11中,可能更早):

代码语言:javascript
复制
ObjectMapper om = new ObjectMapper();
om.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
om.writer().writeValue(System.out, objectWithDateProperty);

我不知道如何以声明的方式对对象定义本身执行等效的操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11230954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档