Под прикрытием Джерси использует JAXB для маршалинга.Во-первых, если вы не включили артефакт jersey-json, он вообще не будет работать с JSON.Это может привести к ошибке, которую вы опубликовали.Во-вторых, JAXB использует аннотации, чтобы определить, как упорядочить и распаковать вещи.Чтобы упорядочить объект с помощью JAXB, его класс должен быть аннотирован с помощью @ XmlRootElement .Если класс не аннотирован, Джерси подумает, что не знает, как упорядочить объект, и снова вы получите ту же ошибку.Я не на 100% уверен в использовании GenericEntity, он мне никогда не был нужен, но я не думаю, что это поможет вам здесь.Я считаю, что есть два общепринятых решения вашей проблемы:
- Оберните вашу Карту в JAXBElement .
- Напишите свою собственную обертку для карты, котораяаннотируется @ XmlRootElement.
Я думаю, что большинство людей склонны выбирать второй вариант.Вы можете найти множество обсуждений по этой проблеме в архиве списка рассылки пользователей jersey .