【发布时间】:2012-06-21 19:29:01
【问题描述】:
我在 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;
}
...
}
【问题讨论】:
-
检查这个问题 [Jackson - 使用 loadDataFromNetwork() 方法使用 Robospice 读取 JSON 数组][1] [1]: stackoverflow.com/questions/18792702/…
标签: java json cxf jax-rs jackson