SpringMVC-JSON数据格式的处理

概述

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

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

@ResponseBody

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

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

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

<mvc:annotation-driven/>

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

/**
 * @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 如下,重启工程效果图如下。

/**
 * @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 如下,重启工程效果图如下。

/**
 * @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;
    }
}

posted @ 2021-01-10 21:47  BNTang  阅读(161)  评论(0编辑  收藏  举报