我正在开发一个项目,我需要返回json格式的对象列表。我正在使用带有jackson库的Spring-mvc框架进行序列化。
我想要一个直接包含对象而不是’name:objects array’的json结构。
这是我的简化代码:
@RequestMapping(method = RequestMethod.GET, value = "/clients") public List getClients( @RequestParam(value = "estat", required = false) String estat throws Exception { List<Clients> l = s.mdClients(estat); return l; }
您看到的“ return l”直接传递给Jackson,杰克逊将“ l”转换为类似以下的结构:
{ "ClientsList": [ { "x": "2", "y": "5" } ]}
问题是根目录“ ClientsList”。我想要无根输出:
{ [ { "x": "2", "y": "5" } ]}
那么,有人可以帮忙吗?提前致谢!
我已经在@vacuum评论(谢谢!)中在控制器中使用@ResponseBody找到了解决方案:
@RequestMapping(method = RequestMethod.GET, value = "/clients") public @ResponseBody List getClients( @RequestParam(value = "estat", required = false) String estat throws Exception { List<Clients> l = s.mdClients(estat); return l; }
我还需要使用以下方法更改输出转换方法
<mvc:annotation-driven />
在我的servlet-context.xml中,以便将jackson库用于列表的json转换。
现在的输出:
[ { "x": "2", "y": "5" } ]