Невозможно проанализировать список элементов из XML с помощью Джексона ⇐ JAVA
Невозможно проанализировать список элементов из XML с помощью Джексона
когда я пытаюсь разобрать следующий XML, у Джексона появляется ошибка:
Классы, которые я использую:
@Data @JacksonXmlRootElement (localName = «корень») общественный класс RootDTO { @JacksonXmlProperty(localName = "aCollection") частная коллекцияКоллекция DTO; } @Данные публичный класс CollectionDTO { @JacksonXmlProperty(localName = "язык") ЯзыкDTO язык; } @Данные общественный класс LanguageDTO { @JacksonXmlProperty(localName = «запись») записи EntryDTO[]; } @Данные общественный класс EntryDTO { @JacksonXmlProperty (isAttribute = true) частный строковый идентификатор; @JacksonXmlProperty (isAttribute = true) частное строковое значение; } Ошибка: Невозможно создать экземпляр значения типа [простой тип, класс com.tinkerdesk.viewer.model.DTO.EntryDTO] из строки JSON; нет однострочного конструктора/фабричного метода
Если я удалю скобки массива, это сработает, но, конечно, будет анализироваться только первый элемент entry. Я обнаружил, что, возможно, мне следует использовать @JacksonXmlElementWrapper(useWrapping = false) поверх записей EntryDTO[];, поскольку элементы не переносятся. Однако у меня это не компилируется, поскольку в com.fasterxml.jackson.xml.annotate.JacksonXmlElementWrapper нет useWrapping. Моя основная версия Jackson — 2.9.6, а xml-databind — 0.6.2. Есть ли новый способ сделать это?
когда я пытаюсь разобрать следующий XML, у Джексона появляется ошибка:
Классы, которые я использую:
@Data @JacksonXmlRootElement (localName = «корень») общественный класс RootDTO { @JacksonXmlProperty(localName = "aCollection") частная коллекцияКоллекция DTO; } @Данные публичный класс CollectionDTO { @JacksonXmlProperty(localName = "язык") ЯзыкDTO язык; } @Данные общественный класс LanguageDTO { @JacksonXmlProperty(localName = «запись») записи EntryDTO[]; } @Данные общественный класс EntryDTO { @JacksonXmlProperty (isAttribute = true) частный строковый идентификатор; @JacksonXmlProperty (isAttribute = true) частное строковое значение; } Ошибка: Невозможно создать экземпляр значения типа [простой тип, класс com.tinkerdesk.viewer.model.DTO.EntryDTO] из строки JSON; нет однострочного конструктора/фабричного метода
Если я удалю скобки массива, это сработает, но, конечно, будет анализироваться только первый элемент entry. Я обнаружил, что, возможно, мне следует использовать @JacksonXmlElementWrapper(useWrapping = false) поверх записей EntryDTO[];, поскольку элементы не переносятся. Однако у меня это не компилируется, поскольку в com.fasterxml.jackson.xml.annotate.JacksonXmlElementWrapper нет useWrapping. Моя основная версия Jackson — 2.9.6, а xml-databind — 0.6.2. Есть ли новый способ сделать это?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение