As Accollativo and storm143 said, this is a problem with
SimpleDateFormat
. If you want to keep SimpleDateFormat
as an instance variable, you can fix this by using an ExclusionStrategy
.
public class GsonDeserializeExclusion implements ExclusionStrategy {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaredClass() == SimpleDateFormat.class;
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
}
You can then create a Gson
instance with this exclusion using the GsonBuilder
.
Gson gson = new GsonBuilder()
.addDeserializationExclusionStrategy(new GsonDeserializeExclusion())
.create();