java.util.Date フィールドを持つ Java オブジェクトがあります。Date オブジェクトに対して System.out.println() を実行すると、「2012-11-03」と出力されます。次に、Java オブジェクトで gson.toJson() を実行すると、Date フィールドの Json 表現が「2012 年 11 月 3 日」であることがわかります。次に、gson.fromJson() を使用して Json 文字列から Java オブジェクトの別のインスタンスを作成しようとすると、次の例外が発生します。
com.google.gson.JsonSyntaxException: Nov 3, 2012
at com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(DateTypeAdapter.java:81)
at com.google.gson.internal.bind.DateTypeAdapter.read(DateTypeAdapter.java:66)
at com.google.gson.internal.bind.DateTypeAdapter.read(DateTypeAdapter.java:41)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
at com.google.gson.Gson.fromJson(Gson.java:795)
at com.google.gson.Gson.fromJson(Gson.java:761)
at com.google.gson.Gson.fromJson(Gson.java:710)
at com.google.gson.Gson.fromJson(Gson.java:682)
Gson が独自の日付形式を処理できないのはなぜですか?