Как сериализировать Joda DateTime с процессором Jackson JSON?

Как я заставляю Jackson сериализировать мой объект Joda DateTime согласно простому шаблону (как "dd-MM-yyyy")?

Я попробовал:

@JsonSerialize(using=DateTimeSerializer.class)
private final DateTime date;

Я также попробовал:

ObjectMapper mapper = new ObjectMapper()
    .getSerializationConfig()
    .setDateFormat(df);

Спасибо!

117
задан zb226 13 March 2019 в 12:27
поделиться

1 ответ

В отображаемом объекте:

@JsonSerialize(using = CustomDateSerializer.class)
public DateTime getDate() { ... }

В CustomDateSerializer:

public class CustomDateSerializer extends JsonSerializer<DateTime> {

    private static DateTimeFormatter formatter = 
        DateTimeFormat.forPattern("dd-MM-yyyy");

    @Override
    public void serialize(DateTime value, JsonGenerator gen, 
                          SerializerProvider arg2)
        throws IOException, JsonProcessingException {

        gen.writeString(formatter.print(value));
    }
}
74
ответ дан 24 November 2019 в 02:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: