Конвертация из одного класса в другой используя JSON Ӏ 3305

  • 14
  • Недоступна
НЕОБХОДИМО: подключенные библиотеки Jackson Core, Bind и Annotation версии 2.6.1 Расставь JSON аннотации так, чтобы результат выполнения метода main был следующим: { "className" : ".ParkingLot", "name" : "Super ParkingLot", "city" : "Kyiv", "vehicles" : [ { "className" : "com.javarush.task.task33.task3305.R
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (75)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Regina Kazan Start-up Founder / AT QA в jivys.com
вчера, 18:00
валя заставила писать вот так - хотя идея нам намекает что это у нас redundant параметр у меня было изначально вот так и не прошло (что бесит, блин!!!):
Серж
31 уровень, Омск
позавчера, 04:56
импорт в каждом классе, как бы намекает какие аннотации использовать, но сначала заколхозил через @JsonTypeName перед каждым из трех классов( мбайк, рбайк и кар) прописал то название класса, которое хотят от нас увидеть)) вывод получил правильный, но валик выслал подальше)))
Дмитрий
27 уровень, Санкт-Петербург
20 марта, 14:14
Всё решается как-то вот так...
@JsonTypeInfo(use = JsonTypeInfo.Id.MINIMAL_CLASS,  property="className")
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property="className")
На самом деле, я очень сильно затупил и не обратил внимания, что все классы-наследники обращаются к элементам, которые были описаны в классе родителе. Из-за этого сначала пытался приписать аннотацию всем классам, но из этого ничего не вышло. Тогда удалил аннотации у всех классов-наследников и написал классу-родителю. всё заработало
tremb
36 уровень, Москва
14 марта, 12:25
4894 как то всё по интуиции: воткнул аннотации из предыдущей задачи, запустил, понял, что вторая не причем, а дело в представлении класса, и посмотрел через crtl/клик какие есть еще enum-сы. Только зачем это всё? в жизни?
Кирилл C.
36 уровень, Санкт-Петербург
17 марта, 12:53
А можно этот коммент как-нить пометить словом "решение"?)))
tremb
36 уровень, Москва
17 марта, 18:06
не понял
Кирилл C.
36 уровень, Санкт-Петербург
17 марта, 20:28
ну как бэ хорошая годная подсказка. Наталкивает на решение. Поэтому, спасибо, добрый человек, твой коммент помог. Особенно третья строчка про посмотреть какие ещё есть enum.
Сергеев Алексей
28 уровень, Москва
8 февраля, 20:16
Ну чёт подгорает с валидатора
Илья
41 уровень, Санкт-Петербург
6 февраля, 07:55
Я добавил аннотацию к листу, никто не знает почему в строковом представлении нигде не вывелось это в консоль?
@JsonDeserialize(as = ArrayList.class)
    public List<Vehicle> vehicles;
Flexo Bending Unit #3370318
17 марта, 07:53
Это сработает только при десериализации, а у нас тут до неё не дошло.
barracuda
41 уровень, Санкт-Петербург
Expert
1 февраля, 20:40
а я чуть было не бросился библиотеки версии 2.8.1 качать. Но нет, прокатывает и 2.6.1. Вот здесь разбирается прямо наш пример. И аннотация подходит - в один из классов без изменений (можно неиспользуемый параметр удалить), а во второй класс - заменить в параметрах этой аннотации енам Id на правильный, подходящий. Смотреть по выводу в консоль. https://www.logicbig.com/tutorials/misc/jackson/jackson-json-type-info-annotation.html
Иван Плотников
31 уровень, Санкт-Петербург
18 января, 08:51
Сначала меня весь этот JSON ужасно бесил! Потом я представил, что всё что делается с помощью него пришлось бы делать самому, ручками и я сразу поменял своё отношение! Легче запомнить несколько аннотаций, чем каждый раз городить огород из кода. Ну как по мне =)
Will Fight
27 уровень
12 января, 18:54
property="className", а не property="classname" блин-блинский
alex_us
41 уровень, Симферополь
10 января, 20:57
Не пугайтесь. Поначалу не понятно вообще ничего. Но постепенно проясняется. Как почти всегда просто нам не дают информации, и если честно на русском языке я так и не нашел внятного объяснения Просмотрел много вкладок . Полезных маловато. вот эта очень хороша для понимания @JsonTypeInfo https://www.logicbig.com/tutorials/misc/jackson/jackson-json-type-info-annotation.html но на английском. Зато крайне доходчиво Да и еще необходимо для того чтобы выводило только имя класса добавить к JsonType.Id.MINIMAL_CLASS
Flexo Bending Unit #3370318
17 марта, 08:15
include = JsonTypeInfo.As.PROPERTY
почему компилятор считает эту операцию излишней?