SpringMVC 目标方法返回 json 格式数据

第一种方法:使用  @ResponseBody 注解来实现

  1、Spring MVC 配置 <mvc:annotation-driven></mvc:annotation-driven>。添加该配置的作用如下,而我们用到的是。。。

  2、添加 jackson-annotations-2.1.5.jar、jackson-core-2.1.5.jar、jackson-databind-2.1.5.jar 三个注解。

  3、在 handler 目标方法中返回集合类型数据并添加 @ResponseBody 注解

   @ResponseBody
    @RequestMapping("/testJson")
    public List<TestBean> testJson(){
        List<TestBean> list = new ArrayList<TestBean>();
        for (int i = 0; i < 5; i++) {
            list.add(new TestBean(i, "name"+i));
        }
        return list;
    }

第二种方法:使用JSON工具类将数据转换成 json 格式字符串后,使用 PrintWriter 写回。

  1、添加相关 jar 文件,可以使用 Maven 进行下载,dependency 如下所示,其会自动下载所依赖的 jar 文件,完整的 jar 文件如下所示。

        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>        

  2、在目标方法中使用 PrintWriter 将数据写回。

    

  @RequestMapping("getDeptList")
    public void getDeptList(HttpServletResponse response){
        List<Department> deptList = new ArrayList<Department>();
        for(int i = 0; i < 5; i++){//模拟数据库取数据操作
            deptList.add(new Department(i, "name" + i));
        }
        JSONObject jo = JSONObject.fromObject(deptList);
        jo.put("deptList", deptList);
        jo.put("json key", "手动设置的 json value");
        PrintWriter printWriter = null;
        try {
            //设置响应格式及字符编码
            response.setContentType("application/json;charset=UTF-8");
            printWriter = response.getWriter();
            printWriter.print(jo.toString());//写回数据
        } catch (IOException e) {
            e.printStackTrace();
        } finally {//释放相关资源
            if (null != printWriter) {
                printWriter.flush();
                printWriter.close();
            }
        }
        return;
    }

  

时间: 2024-08-27 14:55:27

SpringMVC 目标方法返回 json 格式数据的相关文章

SpringMVC 统一返回JSON格式数据到前端

有时在给APP做接口功能的时候,都是返回JSON格式的数据,所以最好的只好在工程设置一个统一的数据返回方式 在SpringMVC 直接配置XML可以产生这种配置,比较简单 Spring的版本我用的是4.3.3的 <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter&qu

使用getJSON()异步请求服务器返回json格式数据

我们可以使用jquery的getJSON()方法请求服务器返回json格式数据: js代码: function test(){ $.getJSON("JsonServlet",function(result){ alert(result.name); }); } 服务器端servlet响应: @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletEx

ajax请求后台,返回json格式数据,模板!

添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="text/javascript">        //加载出部门的信息            function loadGroup(){                            $.ajax({                    type:"post",  

如何让Asp.net webAPI返回JSON格式数据

ASP.NET Web API 是新一代的 HTTP 網路服務開發框架,除了可以透過 Visual Studio 2012 快速開發外 (內建於 ASP.NET MVC 4 的 Web API 專案範本內),也非常適合用於各種跨平台的行動裝置上,如果你想開發 RESTful 應用程式,那麼使用 ASP.NET Web API 應該是挺理想的解決方案.不過 ASP.NET Web API 內建支援 JSON 與 XML 兩種輸出格式,並依據瀏覽器端送出的 Accept 標頭自動決定回應的內容格式,

WebService返回json格式数据供苹果或者安卓程序调用

1.新建一个WebService. 2. 1 /// <summary> 2 /// DemoToJson 的摘要说明 3 /// </summary> 4 [WebService(Namespace = "http://tempuri.org/",Description=("<br><p >西安xx公司</p>技术支持:王光旭"))] 5 [WebServiceBinding(ConformsTo = W

如何让webapi只返回json格式数据

最近脑子不好用,总记不住事,以前搞过让webapi只返回json格式的数据,今天有人问我又突然想不起了,后来总结一下,备忘一下,大概有下面几种处理方式 1.在WebApiConfig类的Register方法增加一行代码,清除掉xmlformatter. config.Formatters.Remove(config.Formatters.XmlFormatter); 2.在Application_Start中加上一行代码,也可以实现 GlobalConfiguration.Configurati

SSH返回json格式数据到easyui grid展示

原文:SSH返回json格式数据到easyui grid展示 源代码下载地址:http://www.zuidaima.com/share/1550463757290496.htm 比较简单的东西里面有一个登录一个返回json数据 一看就明白但是给新手看很好,分享一下.刚知道还能放图...  

Ajax请求ashx 返回 json 格式数据常见问题

问题:ashx 返回的字符串json格式,在前台ajax自动解析失败. 问题分析:经过排查,发现是拼接json时出现” ’  “单引号,jquery无法解析,用” “ “双引号才可以.例如: string strjson="[ { 'userName':'test'}]"; //单引号导致jquery无法自动解析. string strjson="[ {\"userName\":\"test\"}]"; // 双引号可以解析:

springmvc通过ajax异步请求返回json格式数据

jsp 首先创建index.jsp页面 <script type="text/javascript"> $(function () { $("#username").click(function () { $.ajax({ url: "list",//请求地址 type: "POST", dataType: "json", success: function(data) {//data是默认的,