Десериализация XML с Джексоном и дополнительными дочерними тегами - PullRequest
1 голос
/ 05 марта 2020

Я пытаюсь десериализовать XML с вложенными тегами, но я сталкиваюсь с проблемой, когда оболочка приходит без дочерних тегов.

Фактический Java код блока:

    @JacksonXmlElementWrapper(localName = "foo")
    @JacksonXmlProperty(localName = "bar")
    private List<String> bar;

Пример:

<row>
 <foo>
  <bar>test</bar>
  <bar>test2</bar>
 </foo>
</row>

В приведенном выше примере мои тесты работают нормально. Отладка результата List<String> bar возвращает [test, test2]

Проблема в том, что я сталкиваюсь со следующим исключением, когда мое приложение получает XML без тега вообще (я должен принять это потому что он приходит с веб-сервера за пределами моих доменов), например:

<row>
 <foo>

 </foo>
</row>

Невозможно десериализовать экземпляр 'java .util.ArrayList' из токена VALUE_STRING

через цепочку ссылок: Результат ["row"] -> java .util.ArrayList [0] -> ROW ["foo"])

Как я могу присутствовать на этих двух способах десериализации этого XML? С и без ?

...