Я использую 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;
}
...
}