@Override public JodaDateDeserializerBase<?> withFormat(JacksonJodaDateFormat format) { return new DateTimeDeserializer(_valueClass, format); }
addDeserializer(DateTime.class, DateTimeDeserializer.forType(DateTime.class)); addDeserializer(DateTimeZone.class, new DateTimeZoneDeserializer()); addDeserializer(Period.class, (JsonDeserializer<Period>) deser); addDeserializer(ReadablePeriod.class, new PeriodDeserializer(false)); addDeserializer(ReadableDateTime.class, DateTimeDeserializer.forType(ReadableDateTime.class)); addDeserializer(ReadableInstant.class, DateTimeDeserializer.forType(ReadableInstant.class)); addDeserializer(Interval.class, new IntervalDeserializer()); addDeserializer(MonthDay.class, new MonthDayDeserializer());
tz = DateTimeZone.forID(tzId); } catch (IllegalArgumentException e) { ctxt.reportInputMismatch(handledType(), "Unknown DateTimeZone id '%s'", tzId); return _handleNotNumberOrString(p, ctxt);
@Override public ReadableDateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken t = jp.getCurrentToken(); if (t == JsonToken.VALUE_NUMBER_INT) { return new DateTime(jp.getLongValue(), DateTimeZone.UTC); } if (t == JsonToken.VALUE_STRING) { String str = jp.getText().trim(); if (str.length() == 0) { // [JACKSON-360] return null; } return new DateTime(str, DateTimeZone.UTC); } throw ctxt.mappingException(getValueClass()); } }
public JodaModule() { super(ModuleVersion.instance.version()); addDeserializer(DateMidnight.class, new DateMidnightDeserializer()); addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer()); addDeserializer(LocalDate.class, new LocalDateDeserializer()); addDeserializer(Period.class, new PeriodDeserializer()); addDeserializer(DateTime.class, DateTimeDeserializer.forType(DateTime.class)); addDeserializer(ReadableDateTime.class, DateTimeDeserializer.forType(ReadableDateTime.class)); addDeserializer(ReadableInstant.class, DateTimeDeserializer.forType(ReadableInstant.class)); // then serializers: addSerializer(DateTime.class, new DateTimeSerializer()); addSerializer(LocalDateTime.class, new LocalDateTimeSerializer()); addSerializer(LocalDate.class, new LocalDateSerializer()); addSerializer(DateMidnight.class, new DateMidnightSerializer()); addSerializer(Period.class, ToStringSerializer.instance); } }
@SuppressWarnings("unchecked") public static <T extends ReadableInstant> JsonDeserializer<T> forType(Class<T> cls) { return (JsonDeserializer<T>) new DateTimeDeserializer(cls, FormatConfig.DEFAULT_DATETIME_PARSER); }
public class DateTimeModule extends SimpleModule { public DateTimeModule() { super(); addSerializer(DateTime.class, new DateTimeSerializer()); addDeserializer(DateTime.class, new DateTimeDeserializer()); } }
@SuppressWarnings("unchecked") public static <T extends ReadableInstant> JsonDeserializer<T> forType(Class<T> cls) { return (JsonDeserializer<T>) new DateTimeDeserializer(cls); }
//package visibility, to allow passing different De/Serializers while testing static ObjectMapper createObjectMapper(JsonDeserializer deserializer, JsonSerializer serializer) { final SimpleModule module = new SimpleModule("customerSerializationModule", new Version(1, 0, 0, "static version")); module.addDeserializer(DateTime.class, deserializer); module.addSerializer(DateTime.class, serializer); final ObjectMapper objectMapper = new ObjectMapper(); objectMapper.registerModule(module); return objectMapper; } //production method: no-args, as in the original version public static ObjectMapper createObjectMapper() { return createObjectMapper(new DateTimeDeserializer(), new DateTimeSerializer()); }
public class JsonMapperFactory { public static ObjectMapper configureObjectMapper(final ObjectMapper mapper, final SimpleModule module) { final SimpleModuleBuilder modulebuilder = new SimpleModuleBuilder(); final SimpleModule configuredModule = modulebuilder.configure(module) .withSerializer(DateTime.class, new DateTimeSerializer()) .withDeserializer(DateTime.class, new DateTimeDeserializer()) .build(); final ObjectMapperBuilder objectMapperBuilder = new ObjectMapperBuilder(); return objectMapperBuilder.configure(mapper).withModule(configuredModule).build(); } }
GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(DateTime.class, new DateTimeSerializer(useDotNetFormat)); builder.registerTypeAdapter(DateTime.class, new DateTimeDeserializer(useDotNetFormat)); handler = builder.create();