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();
    }

注意:

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();
        }
    }
}
复制代码
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值