6

次の質問への WRT:

Jersey + Jackson JSON 日付形式のシリアル化 - 形式を変更する方法またはカスタム JacksonJsonProvider を使用する方法

知りたい

  • Jackson は、json の日付形式を UNIX 時間の整数に正規化する必要があると指定していますか?

フォローアップの質問 ...

  • 最近、スタンスに変化はありましたか?
  • 日付形式は、jaxb xml 出力によって提供される同じ形式に正規化されるべきではありませんか?
  • なぜ/なぜしないのですか?
  • この問題を解決するための努力はありますか?
  • RestEasy は、一般的に認識可能な日付形式で json 日付を出力する json プロバイダーの軽減策を提供しましたか?
4

2 に答える 2

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(using= ... ) を使用する方法:

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);
  }
}
于 2012-06-27T19:28:42.617 に答える