Jacksonを使用してJSの日付をデシリアライズする方法は?
2023-11-28 17:07:56
質問
ExtJSから日付文字列をフォーマットで取得しています。
"2011-04-08T09:00:00"
この日付をデシリアライズしようとすると、タイムゾーンがインド標準時に変更されてしまいます(時刻に+5:30が追加されます)。これは、私が日付をデシリアライズする方法です。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
getObjectMapper().getDeserializationConfig().setDateFormat(dateFormat);
これをやってもタイムゾーンは変わりません。私はまだISTで日付を取得します。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
getObjectMapper().getDeserializationConfig().setDateFormat(dateFormat);
Timezoneの煩わしさを感じさせない方法で、日付をデシリアライズするにはどうしたらよいでしょうか?
どのように解決するのですか?
回避策を見つけたのですが、これでは、プロジェクト全体で各日付のセッターに注釈を付ける必要があります。ObjectMapper を作成する際に形式を指定する方法はありますか。
以下は私が行ったことです。
public class CustomJsonDateDeserializer extends JsonDeserializer<Date>
{
@Override
public Date deserialize(JsonParser jsonParser,
DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String date = jsonParser.getText();
try {
return format.parse(date);
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
}
そして、各Dateフィールドのセッターメソッドにこのようなアノテーションを付けます。
@JsonDeserialize(using = CustomJsonDateDeserializer.class)
関連
-
Java:未解決コンパイル問題の解決方法
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] Jackson を使用してオブジェクトの配列をデシリアライズする方法
-
[解決済み] Pythonでタイムゾーンを意識したdatetimeオブジェクトを作るには?
-
[解決済み] この日付形式は何ですか?2011-08-12T20:17:46.384Z
-
[解決済み] Javaで現在の日付と時刻をUTCまたはGMTで取得するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
NullPointerException - java.lang.
-
Javaでよくある構文エラー
-
プロジェクトの依存関係を解決できない。
-
-bash: java: コマンドが見つからない 解決方法
-
List list = new ArrayList(); Error: ArrayList は型に解決できません。
-
代入の左辺は変数でなければならない 解答
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
htmlとwordの相互変換の実装(画像あり)
-
ApiModel と @ApiModelProperty の使用法
-
WeChat小プログラム Bluetooth通信 Bluetoothモジュールデモ