Джексон XML сериализация подклассов - PullRequest
0 голосов
/ 06 ноября 2018

Я определил класс, содержащий список аннотаций:

@JacksonXmlElementWrapper(localName = "annots")
@JacksonXmlProperty(localName = "localName")
private List<Annotation> annots = Collections.emptyList();

Аннотация - родительский класс, а подклассы - например, Ссылка, выделите также.

На сериализации я получаю:

<annots> 
 <localname> subject="Link" page="0" ... </localname>
 <localname> subject="Link" page="1" ... </localname>
 <localname> subject="Highlight" page="0" ... </localname>
</annots>

Но желаемым будет следующее:

 <annots> 
  <link> subject="Link" page="0" ... </link>
  <link> subject="Link" page="1" ... </link>
  <highlight> subject="Highlight" page="0" ... </highlight>
 </annots>

Как я могу изменить локальное имя каждого элемента списка? Я пытался аннотировать свои подклассы с помощью @JsonRootName ("...") и / или @JacksonXMLRootElement ("..."), но безуспешно.

Любые предложения приветствуются.

...