写下以下问题:
我想知道
后续问题......
答案 0 :(得分:12)
对不起大声喊叫的人 - 我在这里找到了答案
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);
}
}
答案 1 :(得分:2)
这也是由ObjectMapper上的一个功能控制的(至少在1.9.11中,可能更早):
ObjectMapper om = new ObjectMapper();
om.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
om.writer().writeValue(System.out, objectWithDateProperty);
我没有看到如何以声明方式对对象定义本身进行等效。