У меня есть JSON с атрибутом даты и времени в формате «2014-03-10T18: 46: 40.000Z», которые я хочу десериализовать в поле java.time.LocalDateTime с помощью Gson.
При попытке десериализации я получаю сообщение об ошибке:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING
{
(он же BEGIN_OBJECT), но вместо этого ваш json начинается с символа - person Svetlin Zarev   schedule 11.03.2014{"key":"value"}
Ваш json определенно недействителен. Как я сказал в gson,{
isBEGIN_OBJECT
, и он говорит, что он отсутствует. Простоprintln()
json, чтобы проверить, правильно ли он. Также вы можете распечатать объектserialized
, чтобы увидеть, как должен выглядеть json :) - person Svetlin Zarev   schedule 11.03.2014LocalDateTime
(у меня нет Java 8), но предполагаю, что это преобразование может завершиться неудачно. - person Meno Hochschild   schedule 13.03.2014OffsetDateTime
, а неLocalDateTime
. Также вам могут быть интересны мои настраиваемые сериализаторы дляjava.time
сущностей: github.com/gkopff/gson -javatime-сериализаторы - person Greg Kopff   schedule 15.04.2014