RestEasy Jettison Ошибка одноэлементного массива - PullRequest
0 голосов
/ 05 декабря 2011

Сведения о выпуске: RestEasy + Jettison

Когда массив состоит из двух элементов, формат выглядит так:

{"MyArray" : {"Array" : [{"a" : 1, "b" : 2}, {"a" : 3, "b" : 4}]}}

но если массив состоит из одного элемента, формат:

{"MyArray" : {"Array" : {"a" : 1, "b" : 2}}} ***Missing the []

RestEasy по умолчанию использует формат Jettison Mapped, который имеет известное ограничение списка отдельных элементов, не возвращаемых в виде массива. Согласно этому обсуждению, предлагаемое решение состоит в том, чтобы использовать Джексона, но если это не вариант, есть ли способ использовать RestEasy + Jettison и обойти проблему с одним элементом массива?

На Джерси есть решение этой проблемы, в котором используется JSONJAXBContext, но как мне это исправить в RestEasy?

1 Ответ

0 голосов
/ 06 декабря 2011

Вы можете использовать StAXON вместо Jettiison - http://beckchr.github.com/staxon/

С помощью StAXON вы можете указать пути к элементам массива.В вики есть пример: https://github.com/beckchr/staxon/wiki/Using-JAX-RS

...