SpringMVC中controller返回json数据的两种方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC中controller返回json数据的两种方法相关的知识,希望对你有一定的参考价值。
SpringMVC中controller返回json数据的两种方法
1.jsp的ajax请求:
function getJson(){ $.ajax({ type:"get", dataType:"json", url:"<%=basePath %>getJson", success:function(data){ for(var i=0;i<jsonData.length;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(); }
注意:
[email protected]的作用:将目标方法的返回值自动转换成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(); } } }
以上是关于SpringMVC中controller返回json数据的两种方法的主要内容,如果未能解决你的问题,请参考以下文章
SpringMVC中controller返回json数据的两种方法