2010-07-21 85 views
3

我在Spring 3应用程序中配置了一个ContentNegotiatingViewResolver,因此当我使用一个类似于** .json的URL调用控制器时,它会使用jackson库返回一个json对象。春季自定义json

如果我把这个方法:

@RequestMapping("/myURL.json") 
public List<MyClass> myMethod(){ 
    List<MyClass> mylist = myService.getList(); 
    return mylist; 
} 

在JSON我收到我:

{"myClassList":[ 
    { object 1 in json }, 
    { object 2 in json }, 
    { object 3 in json } ... 
] 
} 

我的问题是:¿有什么办法来配置名称myClassList这是在使用json? ¿是否有可能以这种方式没有这个变量的JSON(类似下面的那个)?

[ 
    { object 1 in json }, 
    { object 2 in json }, 
    { object 3 in json } ... 
] 

谢谢。

回答

4

您可以直接返回org.springframework.web.servlet.ModelAndView对象,而不是List对象。在modelAndView对象上,您可以设置键的名称。请参考以下代码片段:

@RequestMapping("/myURL.json") 
public ModelAndView myMethod(){ 
    ModelAndView modelAndView = new ModelAndView(); 
    List<MyClass> mylist = myService.getList(); 
    modelAndView.addObject("MyClassName", myList); 
    return modelAndView; 
}