I have a Java object that has a java.util.Date field. When I do System.out.println () in a Date object, it prints "2012-11-03". Then, when I do gson.toJson () on a Java object, I see that the Json representation of the Date field is "November 3, 2012." Then, when I try to create another instance of a Java object from a Json string using gson.fromJson (), I get the following exception:
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)
Why can't Gson handle native date format?
source share