План уровня:
- JavaScript
- JSON
- Сериализация в JSON
- Json serialize frameworks (JackSON)
- XML, Сериализация в XML
- Сложная сериализация в XML, JAXB
Что еще можно посмотреть на досуге:
Ответы на вопросы к собеседованию по теме уровня
Для решения задач понадобится скачать
Jackson Core,
Jackson Annotations и
Jackson Databind версии 2.4.3. Подключите эти библиотеки в IntelliJ IDEA.
Добавьте себе в закладки ссылку на репозиторий Мавена — http://mvnrepository.com
Реализовав большую задачу этого уровня, вы познакомитесь с такими библиотеками как
Guava,
Apache Commons Collections,
JUnit.
Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария.
Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь!
Вернуться к обучению
java онлайн на JavaRush
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Подробнее про XML и средства работы с ним
Какой обьект мы десериализуем? как мы хотим из этой кучи получить Cat? почему идея ругается, что @XmlAny аннотации не существует и о том, что она существовала информации тоже не нашел.
я сейчас —
Аннотация @XmlAnyElement(lax=… value=...) применяется к JavaBean-свойствам (или полям) и связывает их с элементами <xsd:any>.
Дополнительные параметры: lax — если true, тогда значение атрибута processContents=«lax»; value указывает Java-класс, реализующий интерфейс javax.xml.bind.annotation.DomHandler<ElementT,ResultT extends Result> и отвечающий за конвертацию XML-данных в DOM-данные и наоборот (по умолчанию javax.xml.bind.annotation.W3CDomHandler.class).
mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core/2.8.1
А jar-ники можно скачать, зайдя в конкретную версию (н-р, 2.6.1) конкретной библиотеки (н-р, mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.4.3) и нажав «Download (BUNDLE)».
А у вас такой:
К тому же написано:
С помощью атрибута @XmlType мы поменяли тэг cat на tiger.
А на самом деле этого не происходит.
И в первой задаче по теме XML тоже не поменять cat(dog) на что-то другое помощью
Это по задаче конечно не требуется, но чтобы так сделать, надо новое имя указать прям в рут-аннотации, вот так:
{ «name»=«Murka», «age»=5, «weight»=4}
на вот это:
{ «name»:«Murka», «age»:5, «weight»:4}
ибо Jackson сериализирует именно в такой формат и если пытаешься десереализировать в формате с "=" получаешь Exception.
я вас поддержу и добавлю, что ещё вариант есть @JsonProperty(value=«anotherName»)