WRT以下问题:JAX-RS杰克逊JSON提供日期格式问题
我想知道
- 是杰克逊指定的JSON日期格式应该归到UNIX时间整数?
后续问题...
- 出现了工作的立场随时更改最近?
- 不应该将日期格式标准化为由jaxb xml输出提供的相同格式吗?
- 为什么/为什么不呢?
- 为解决这个问题付出了什么努力?
- RestEasy提供了一种json提供者缓解方法,可以以普遍可识别的日期格式输出json日期吗?
WRT以下问题:JAX-RS杰克逊JSON提供日期格式问题
我想知道
后续问题...
对不起的人大声叫喊 - 我在这里找到答案
http://wiki.fasterxml.com/JacksonFAQDateHandling,
这里
http://wiki.fasterxml.com/JacksonFAQ#Serializing_Dates,
这里
http://wiki.fasterxml.com/JacksonHowToCustomSerializers
这里
http://jackson.codehaus.org/1.1.2/javadoc/org/codehaus/jackson/map/util/StdDateFormat.html
使用@JsonSerialize(使用= ...)方式:
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);
}
}
这也是一个功能上ObjectMapper(至少在1.9.11控制,并可能更早):
ObjectMapper om = new ObjectMapper();
om.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
om.writer().writeValue(System.out, objectWithDateProperty);
我不明白如何声明性地做对象定义itsel的等价物F。
有人已经投票了这个答复。小心解释为什么?我自己也不太喜欢这个答案,但这些都是推荐的方法。你不能责怪我或我的回答,因为jaxb和杰克逊之间存在分歧。你将不得不对这两个组织进行咆哮。 –