泽西+杰克逊 - 如何序列化通用列表

时间:2015-04-03 14:39:18

标签: json serialization jaxb jersey jackson

我将列表转换为JSON时遇到问题。我想使用带模板的通用列表。

这对我不起作用。我的POJO:

class Event {
    private Long id;
    public void setId(Long id) {
        this.id = id;
    }
    public Long getId() {
        return id;
    }
}

通用列表结果:

public class ListResponse<T> {
    private List<T> result = new ArrayList<T>();
    public List<T> getResult() {
        return result;
    }

    public void setResult(List<T> result) {
        this.result = result;
    }
}

具体清单结果:

public class EventListResponse extends ListResponse<Event> {}

在我的资源类中,我正在使用它:

@PermitAll
@Path("/list")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public EventListResponse getEvents() {
    //...
    EventListResponse response = new EventListResponse();
    List<Event> events = eventService.getList();
    response.setResult(events);
    return response;
}

在这种情况下序列化不起作用,我最终得到了“事件”JSON对象的Strings内容。

我得到的结果如下:

array(3) { ["type"]=> string(17) "eventListResponse" ["result"]=> array(1) { [0]=> string(38) "com.mypackage.model.Event@3a622482" } } 

这里的问题是什么?

谢谢

0 个答案:

没有答案