我有一个具有 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 不能处理自己的日期格式?