让Jackson从Spring控制器返回一个JSON对象

时间:2012-09-26 16:49:42

标签: java jquery json spring-mvc jackson

我有一个Spring MVC后端需要开始处理将被客户端jQuery / AJAX调用命中的新URL。这些调用期望服务器返回JSON对象。

我想尝试一些我能够找到的例子,这是我到目前为止所拥有的:

// AjaxResult.java
public class AjaxResult {
    private int answer;
    private String errMsg;

    // Getters/setters for both properties.
}

// Inside MyController.java (a Spring @Controller):
public @ResponseBody AjaxResult handleJQueryCall(@RequestParam("x") String whatever) {
    int ans = calculateSomething(whatever);

    AjaxResult result = new AjaxResult(ans);

    return result;
}

我不能处理我可以编译/部署它的位置,但是明显这里缺少的东西......杰克逊的使用!所以我问:如何指定Spring将AjaxResult result作为JSON返回给客户端?提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为你错过了这个映射:

// AjaxResult.java
public class AjaxResult {
    private int answer;
    private String errMsg;

   // Getters/setters for both properties.
}

// Inside MyController.java (a Spring @Controller):
 @RequestMapping( value="/myController", method= RequestMethod.GET, produces = "application/json")
 public @ResponseBody AjaxResult handleJQueryCall(@RequestParam("x") String whatever) {
   int ans = calculateSomething(whatever);

AjaxResult result = new AjaxResult(ans);

return result;
}