JAXB и сложные карты - PullRequest
       17

JAXB и сложные карты

1 голос
/ 09 августа 2010

Я пытаюсь маршалировать / демаршалировать Map<String, Map<String, Serializable>> через JAXB. Есть две проблемы: 1. JAXB не может обрабатывать сложные карты. 2. JAXB не может обрабатывать интерфейсы (Сериализуемый в этом контексте). Как можно получить это через JAXB?

Ответы [ 2 ]

1 голос
/ 09 августа 2010

Я думаю, что основной проблемой является интерфейс, поскольку JAXB должен быть в состоянии упорядочить карту,Проблема с интерфейсами состоит в том, что демаршаллинг JAXB не знает, какой конкретный тип использовать для реализации интерфейса.Поток сортировки может не происходить из Java-кода, поэтому поток не может содержать конкретную информацию о типе.JAXB должен был бы выбрать реализацию, и ему нужна помощь, чтобы сделать это.

JAXB: Как мне составить сложные вложенные структуры данных

Отображение вашего любимогокласс

JBoss Встроенные провайдеры JAXB

Это распространенная проблема при сортировке веб-служб.Одним из надежных методов является использование объектов передачи данных, содержащих конкретные типы, которые могут быть точно определены в WSDL для передачи данных.Вы должны отобразить свои доменные объекты в и из этих DTO в коде приложения, что является недостатком.Одним из преимуществ этого подхода является то, что ваше приложение слабо связано с форматом передачи данных.

0 голосов
/ 09 августа 2010

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

<item key="somekey" value="hello" />

но вы должны проверить дубликат ключа самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...