使用注释将<object>列表到JSON </object>

时间:2013-06-28 05:37:31

标签: json collections marshalling unmarshalling

好的,这里有,希望这是有道理的!我有一个基于appfuse web服务的小项目,只有原型。我有一个注入DAO的业务外观,通过这个DAO我请求一些数据,简单的例子:

PersonManager.java

@GET
@Path("{people}")
List<Person> getPeople(@QueryParam("surname") String surname);

PersonManagerImpl.java (implements PersonManager)

public List<Person> getPeople(String surname) {
    return personDao.getPeople(String surname);
}

我可以通过配置为指向“getPeople”的URL来发出调用此方法的请求,但是,当DAO将人员列表作为数组列表返回时,我收到以下错误

Error serializing the response, please check the server logs, response class : ArrayList.

我知道我可以包装此方法并使用Jackson Object Mapper将列表更改为字符串,但我不想在代码中使用其他图层,只是为了编组JSON requests/responses.

我也不想更改接口以返回字符串,因为稍后可能会使用该接口返回其他数据类型,因此,我不想将其锁定为仅返回表示JSON的字符串。

我的困境在于,我不知道如何保持上述界面和实现,我可以让Jackson将人员列表转换为json人员列表,仅注释!

非常感谢任何帮助。

请帮忙!

1 个答案:

答案 0 :(得分:2)

杰克逊从1.7.1升级到1.9.5解决了这个问题。