• 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;
        }

      

  • 相关阅读:
    BZOJ1862: [Zjoi2006]GameZ游戏排名系统
    BZOJXXXX: [IOI2000]邮局——四边形不等式优化初探
    BZOJ1801: [Ahoi2009]chess 中国象棋
    BZOJ1505: [NOI2004]小H的小屋
    BZOJ1899: [Zjoi2004]Lunch 午餐
    BZOJ1057: [ZJOI2007]棋盘制作
    BZOJ1100: [POI2007]对称轴osi
    BZOJ1123: [POI2008]BLO
    线性规划之单纯形讲解
    BZOJ 3265 志愿者招募加强版(单纯形)
  • 原文地址:https://www.cnblogs.com/yjtx/p/4440924.html
Copyright © 2020-2023  润新知