首页 文章

我如何从我的 spring 控制器发送json响应?

提问于
浏览
0

我是这个主题的新手 . 如何从我的控制器返回JSON数据,使用类似的东西(使用ResponseBody)

@RequestMapping(value = "/ajaxtest", method = RequestMethod.GET)
@ResponseBody
public Set<String> ajaxTest() {
Set<String> records = new HashSet<String>();
records.add("Record #1");
records.add("Record #2");
return records; 
}

我试过ro使用 Jackson ,但有http 406错误 . 我应该在Spring版本4.0.3中使用什么正确版本的Jackson?使用的算法是什么? UPD Ajax通话

<button id="btn">Click!</button>
<script>
$("#btn").click(
function sendAjax() {
    $.ajax({
        url: "/ajaxtest",
        dataType: "json",
        success: function(data) {
            alert(data);
        },
        error:function() {
            alert("error");
        }
    });
})
</script>

2 回答

  • 0

    对于转换为json请求,必须在项目构建路径中包含以下 3 jar . Jackson jar 用于召集 HTTP request to jason format.

    还要提一下 headear=content-type=application/json

    These are the jar files

    jackson-mapper-asl.jar
    jackson-core-asl.jar
    jackson-jaxrs.jar
    
  • 0

    如果您使用的是maven,则可以在pom.xml中包含以下依赖项

    Jackson Mapper Version 1足以将您的对象转换为JSON对象:

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
    </dependency>
    

    或者您也可以选择最新的Jackson版本,

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.6.0</version>
    </dependency>
    
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.6.0</version>
    </dependency>
    
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.6.0</version>
    </dependency>
    

相关问题