前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC-JSON数据格式的处理

SpringMVC-JSON数据格式的处理

原创
作者头像
BNTang
发布2023-10-01 20:08:01
1390
发布2023-10-01 20:08:01
举报

概述

当前端使用 Ajax 发送请求时,服务器要以 JSON 的数据格式来响应给浏览器。

那么这个时候可以使用 @ResponseBody 来实现,注解的方式来实现。

@ResponseBody

添加处理 JSON 的相关 jar 包,如果是 maven 工程就添加对应的依赖即可。

把对应的 jar 或者依赖添加到 IDEA 中然后在进行编译。

然后在配置文件当中写上如下内容:

代码语言:html
复制
<mvc:annotation-driven/>

然后在设置映射 URL 的方法的返回值为 JSON 数据,只需要在对应的方法上方添加 @ResponseBody 注解即可,首先先来看看返回一个 对象 吧,修改 MyFirstController,修改完了之后重启工程发送请求查看效果如下。

代码语言:java
复制
/**
 * @author: BNTang
 */
@Controller
public class MyFirstController {
    @RequestMapping("/getObjectJson")
    @ResponseBody
    public User getObjectJson() {
        User user = new User();

        user.setUsername("BNTang");
        user.setAge(23);
        user.setGender(0);

        String[] hobby = {"篮球", "足球"};

        user.setHobby(hobby);
        return user;
    }
}

再来看看返回一个 List 集合的 JSON 格式的数据吧,修改 MyFirstController 如下,重启工程效果图如下。

代码语言:java
复制
/**
 * @author: BNTang
 */
@Controller
public class MyFirstController {
    @RequestMapping("/getObjectJson")
    @ResponseBody
    public List<User> getObjectJson() {
        User user = new User();

        user.setUsername("BNTang");
        user.setAge(23);
        user.setGender(0);

        String[] hobby = {"篮球", "足球"};

        user.setHobby(hobby);

        List<User> userObjList = new ArrayList<>();
        userObjList.add(user);

        return userObjList;
    }
}

紧接着来看看返回一个 Map集合 JSON 格式的数据,修改 MyFirstController 如下,重启工程效果图如下。

代码语言:java
复制
/**
 * @author: BNTang
 */
@Controller
public class MyFirstController {
    @RequestMapping("/getObjectJson")
    @ResponseBody
    public Map<String, List<User>> getObjectJson() {
        User user = new User();

        user.setUsername("BNTang");
        user.setAge(23);
        user.setGender(0);

        String[] hobby = {"篮球", "足球"};

        user.setHobby(hobby);

        List<User> userObjList = new ArrayList<>();
        userObjList.add(user);

        Map<String, List<User>> map = new HashMap<>();
        map.put("name", userObjList);

        return map;
    }
}

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • @ResponseBody
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com