Как создать JsonbCong, который записывает дату в число вместо строки? - PullRequest
0 голосов
/ 14 января 2019

Очевидно, что с Eclipse Yasson JsonbDateFormat.TIME_IN_MILLIS аннотация возвращает номер даты в виде строки:

 import javax.json.bind.annotation.JsonbDateFormat;

 class MyObject { 
    @JsonbDateFormat(JsonbDateFormat.TIME_IN_MILLIS)
    Date myDate;
 }

например, выходы (указанное число)

{"myDate":"1234567890"}

Как мне настроить json-b так, чтобы он не использовал кавычки вокруг числа (например, поведение по умолчанию с Джексоном) ?, например:

{"myDate":1234567890}

1 Ответ

0 голосов
/ 22 января 2019

Попробуйте использовать адаптер привязки от даты к длинной (и наоборот).

public static class DateAdapter implements JsonbAdapter<Date, Long> {

    @Override
    public Long adaptToJson(Date date) {
        return date.getTime();
    }

    @Override
    public Date adaptFromJson(Long ms) {
        return new Date(ms);
    }
}

Далее аннотируйте свойство с помощью @JsonbTypeAdapter.

class MyObject { 
    @JsonbTypeAdapter(DateAdapter.class)
    Date myDate;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...