zoukankan      html  css  js  c++  java
  • Spring返回json数据

    第一种形式:使用注解@ResponseBody

        @RequestMapping(value = "/admin/jq", method = RequestMethod.GET)
        @ResponseBody
        public List<Map<String, Object>> jq() {
    
            List<Map<String, Object>> allUser = (List<Map<String, Object>>) userService.getAllUsers().get("allUser");
    
            logger.info("allUser: " + allUser);
    
            return allUser;
        }
    

    响应结果:

    [
        {
            id=1,
            username=admin,
            status=true,
            roleId=1,
            description=备注描述的,
            roleName=ROLE_ADMIN
        },
        {
            id=6,
            username=adminto,
            status=true,
            roleId=2,
            description=null,
            roleName=ROLE_EXPERT
        }
    ]
    

    第二种形式:利用HttpServletResponse结合第三方JSON组件(如Jackson、fastjson、gson)进行响应

        @RequestMapping(value = "/admin/jq2", headers = "Accept=application/json")
        public void jq2(HttpServletResponse response) throws IOException {
             response.setContentType("application/json;charset=utf-8");
    
             List<Map<String, Object>> allUser = (List<Map<String, Object>>) userService.getAllUsers().get("allUser");
    
            logger.info("allUser: " + allUser);
    
            String jsonString = JSON.toJSONString(allUser, SerializerFeature.WriteNullStringAsEmpty);
    
            logger.info("jsonString: " + jsonString);
    
            response.getWriter().write(jsonString);
        }
    

    响应结果:

    [
        {
            id=1,
            username=admin,
            status=true,
            roleId=1,
            description=备注描述的,
            roleName=ROLE_ADMIN
        },
        {
            id=6,
            username=adminto,
            status=true,
            roleId=2,
            description=null,
            roleName=ROLE_EXPERT
        }
    ]
    
  • 相关阅读:
    YARN的设计
    在(MRv1)中JobTracker工作方式
    经典 MapReduce框架(MRv1)
    进程与线程的简单解释
    Java序列化的机制和原理
    ibatis源码学习4_参数和结果的映射原理
    ibatis源码学习3_源码包结构
    ibatis源码学习2_初始化和配置文件解析
    ibatis源码学习1_整体设计和核心流程
    spring中的设计模式
  • 原文地址:https://www.cnblogs.com/vimx86/p/6898350.html
Copyright © 2011-2022 走看看