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和傑克遜之間存在分歧。你將不得不對這兩個組織進行咆哮。 –