我在 CXF 中使用 Jackson 来序列化/反序列化数据。不幸的是,我在配置 CXF/Jackson 来反序列化 JSON 数组时遇到了困难。我很感激帮助解决这个问题。
到目前为止,大部分 json 数据都是对象格式,即
{ "objectCollection": [ {...}, {...}, {...}... ] }
但是,有问题的 json 数据采用以下形式:
[ {...}, {...}, {...} ]
Web 服务端点需要一个“GroupsDto”对象(见下文),它有一个属性——一组组,通过 JSON 数组传输。
@PATH(...)
public Response createGroups(GroupsDto groups) {
...
}
我在 GroupsDto 集合属性中添加了如下@JsonDeserialize,但它不起作用。我继续得到:“无法从 START_ARRAY 令牌中反序列化 GroupsDto 的实例”
public class GroupsDto {
private Collection<GroupDto> groups;
/**
* @return the groups
*/
@XmlElement(name="group")
@JsonDeserialize(contentAs=GroupDto.class)
public Collection<GroupDto> getGroups() {
return groups;
}
...
}