本文实例为大家分享了SpringMVC中controller返回json数据的2种方法,供大家参考,具体内容如下

1.jsp的ajax请求:

function getJson(){

$.ajax({

type:”get”,

dataType:”json”,

url:”getJson”,

success:function(data){

for(var i=0;i

alert(“Id:”+data[i].id+” username:”+data[i].username);

}

},

error:function(e){

alert(e);

}

})

}

2.方法一:

使用springmvc原生注解@ResponseBody

@ResponseBody

@RequestMapping(“/getJson”)

public Object getJson(){

return new Object();

}

注意:

1.@ResponseBody的作用:将目标方法的返回值自动转换成json格式,然后返回给前端

3.方法二:

使用手动写的json工具类

@RequestMapping(“/getJson”)

public void getJson(HttpServletResponse response){

Object obj = new Object();

JSONObject json = JSONObject.fromObject(obj);

JsonUtils.ajaxJson(json.toString(), response);

}

附上JsonUtils工具类的代码:

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

public class JsonUtils {

public static void ajaxJson(String jsonString,HttpServletResponse response) {

ajax(jsonString, “application/json”,response);

}

public static void ajax(String content, String type,HttpServletResponse response) {

try {

response.setContentType(type + “;charset=UTF-8”);

response.setHeader(“Pragma”, “No-cache”);

response.setHeader(“Cache-Control”, “no-cache”);

response.setDateHeader(“Expires”, 0);

response.getWriter().write(content);

response.getWriter().flush();

} catch (IOException e) {

e.printStackTrace();

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。