Запретить объект-оболочку при сериализации объекта Java в JSON с помощью Jackson

У меня есть веб-служба, которая возвращает список в формате JSON. Он использует Джексона для отображения списка объектов Java POJO в JSON. Проблема в том, что представление JSON имеет объект-оболочку вокруг массива, а мне просто нужен массив. То есть, я получаю следующее:

{"optionDtoList":[{...}, ..., {...}]}

, когда на самом деле мне нужно следующее:

[{...}, ..., {...}]

Я сериализую список Java напрямую; Я не заключаю в оболочку List объект-оболочку и не сериализую объект-оболочку. Кажется, это Джексон добавляет объект-оболочку JavaScript.

Я полагаю, что есть ' s некоторая аннотация, которую я могу использовать в POJO для подавления объекта-оболочки, но я ее не вижу.

Ограничения в решении

Я бы хотел исправить это на стороне службы, а не снимать оболочку на клиент. Клиент - это виджет пользовательского интерфейса jQuery (виджет автозаполнения, но это не имеет значения), который ожидает простой массив, и я не хочу изменять сам виджет.

То, что я пробовал

  • Я попытался заменить список из Java POJO с массивом Java POJO, и результат тот же.
  • Я попробовал @JsonTypeInfo (use = Id.NONE) , думая, что это может подавить оболочку, но этого не произошло.
8
задан Willie Wheeler 25 January 2011 в 22:44
поделиться