Как десериализовать массив JSON?

Я использую Jackson в CXF для сериализации/десериализации данных. К сожалению, у меня возникли трудности с настройкой CXF/Jackson для десериализации массива JSON. Буду признателен за помощь в решении вопроса.

До этого момента большая часть данных json была в формате объекта, т.е.

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

Однако рассматриваемые данные json имеют вид:

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

Конечная точка веб-службы ожидает объект "GroupsDto" (см. далее) который имеет одно свойство -- набор групп, который передается через массив JSON.

@PATH(...)
public Response createGroups(GroupsDto groups) {
...
}

Я добавил @JsonDeserialize в свойство коллекции GroupsDto следующим образом, но это НЕ работает. Я продолжаю получать: «Не удается десериализовать экземпляр GroupsDto из токена START_ARRAY»

public class GroupsDto {

       private Collection<GroupDto> groups;

       /**
        * @return the groups
        */
       @XmlElement(name="group")
       @JsonDeserialize(contentAs=GroupDto.class)
       public Collection<GroupDto> getGroups() {
               return groups;
       }
...
}
7
задан Ari 19 June 2012 в 17:40
поделиться