本文实例为大家分享了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();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。