Карта Instant к списку объектов - сериализация / десериализация Джексона - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть приложение весенней загрузки и следующий класс DTO:

public class CarDto {
    private Map<Instant, List<CarModelDto>> dateToCarModels = new HashMap<>();

    // getters/setters omitted for brevity
}

Когда я звоню с postman, это выглядит так:

{
    "dateToCarModels": {
        "1544612555": [{
            <obj1>
        },
        {
            <obj2>
        }],
        "1544785355": [{
            <obj1>
        }]
    }
}

Этовыдает мне следующую ошибку:

JSON parse error: Cannot deserialize Map key of type
`java.time.Instant` from String "1544612555": Failed to deserialize
java.time.Instant: (java.time.format.DateTimeParseException) Text
'1544612555' could not be parsed at index 0; nested exception is
com.fasterxml.jackson.databind.exc.InvalidFormatException: (...)

Это понятно, поскольку у меня есть Instant в качестве карты ключей (и передача String в json - поскольку ключи JSON должны быть строками).

Есть ли лучший способ исправить это, чем написание собственного сериализатора / десериализатора ключей ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...