0

Map を Java モデルにマッピングしていますが、今日まではすべて正常に機能していました。いくつかの新しいデータで失敗しているようです。エラーは次のとおりです。

org.codehaus.jackson.map.JsonMappingException: Can not construct instance of   
java.util.Date from String value '2013-08-14T12:16:02.31-05:00': not a valid
representation (error: Can not parse date "2013-08-14T12:16:02.31-05:00": not
compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-
MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))

Jackson ObjectMapper Bean で、日付形式を設定しました。

<property name="myFormat">
    <bean class="java.text.SimpleDateFormat">
            <constructor-arg type="java.lang.String" value="yyyy-MM-dd'T'HH:mm:ss'Z'"/>     
    </bean>
</property>

日付形式の何が問題になっていますか?

4

1 に答える 1

1

ミリ秒から 1 桁が欠落しています。それ以外の場合は、デフォルトの ISO-8601 値と一致します。したがって、可能であれば、2 桁ではなく 3 桁の日付/時刻値を生成してください。

さらに、カスタムの日付形式が Spring 経由で登録されない場合があります (よくわかりませんが、私自身は Spring を使用していません)。しかし、そうであれば、リテラルZがタイムゾーンに使用されることを指定しています。しかし、あなたの値は実際には相対オフセットを使用しています。したがって、おそらく引用符を除外する必要があります。

于 2013-08-14T19:43:21.613 に答える