Я использую Jackson в CXF для сериализации/десериализации данных. К сожалению, мне сложно настроить CXF/Jackson для десериализации массива JSON. Я был бы признателен за помощь в решении этой проблемы.Как десериализовать массив JSON?
До сих пор большая часть данных JSon была в формате объекта, т.е.
{ "objectCollection": [ {...}, {...}, {...}... ] }
Однако данные JSON в вопросе имеет вид:
[ {...}, {...}, {...} ]
Конечная точка веб-службы ожидает объект «GroupDto» (см. Ниже) , который имеет одно свойство - набор групп, который является , переданный через t он массив 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;
}
...
}
Проверить этот вопрос [Джексон - читает массив JSON с использованием Robospice loadDataFromNetwork() метод] [1] [1]: http://stackoverflow.com/questions/18792702/jackson-reading- a-json-array-with-robospice-using-loaddatafromnetwork-method – Sneg