Как сериализовать и десериализовать список объектов, используя Джексона - PullRequest
0 голосов
/ 11 июня 2019

Я получаю ошибку при десериализации массива объектов.

и int нижеприведенное выражение имеет тип List<Restaurant>

String json = obj.writeValueAsString(ans);

Я получаю сообщение об ошибке в строке ниже

List<Restaurant> all= Arrays.asList(obj.readValue(reslistjson,Restaurant[].class));

Ошибка - Невозможно десериализовать экземплярcom.crio.qeats.dto.Restaurant[] из токена START_OBJECT в [Source: (String) "{" restaurantId ":" 12 "," name ":" A2B "," city ":" Electronic City "," imageUrl ":" www.google.com "," latitude ": 20.015," longitude ": 30.015," opensAt ":" 18:00 "," closesAt ":" 23:00 "," attribute ": [" Tamil "," South Indian "]}«;строка: 1, столбец: 1]

1 Ответ

1 голос
/ 11 июня 2019

JSON-ввод в вашем примере - это объект, а не массив. Для ваших данных JSON это будет работать:

List<Restaurant> all= Arrays.asList(objectMapper.readValue(json,Restaurant.class));

JSON, подобный этому, представляет собой массив объектов, и ваш оригинальный код будет работать:

String json = "[{..data1 goes here....}, {..data2 goes here....}]";
List<Restaurant> all= Arrays.asList(objectMapper.readValue(json,Restaurant[].class));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...