前端传递JSON数组数据到后端(解析方法)

这篇具有很好参考价值的文章主要介绍了前端传递JSON数组数据到后端(解析方法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在前端和后端之间传递数组时,由于HTTP协议的限制,无法直接传递数组类型的参数。
请求参数需要被转换为字符串格式传递给后端,所以需要通过 JSON.stringify() 方法将 gradeIdArray 数组转换为一个 JSON 字符串,并将其作为参数传递给后端。

add(){
      // 将选中的权限等级的 ID 转换为整数类型,并存储在一个数组中
      let gradeIdArray = []
      for (let i = 0; i < this.selectGradeArray.length; i++) {
        gradeIdArray.push(parseInt(this.selectGradeArray[i]))
      }
      // 发送 POST 请求,将角色名称和权限等级的 ID 数组传递给后台
      axios.post('/project/role/add', {
          roleName: this.addObj.name,
          gradeIdArray: JSON.stringify(gradeIdArray)
      }).then(resp => {
        if (resp.data === 'ok') {
          alert('添加成功')
          // 清空
          this.addObj.name = ''
          this.selectGradeArray = []
        } else {
          alert('添加失败')
        }
    });
  }

        在后端的控制器方法中,需要使用 @RequestBody 注解来接收前端传递过来的 JSON 数据,并将其转换成对应的 Java 对象

  @PostMapping("add")
    public String add(@RequestBody Map<String, Object> params) {
        String roleName = (String) params.get("roleName");
        String gradeIdArrayJson = (String) params.get("gradeIdArray");
        ObjectMapper mapper = new ObjectMapper();
        List<Integer> gradeIdList = null;
        try {
            gradeIdList = mapper.readValue(gradeIdArrayJson, new TypeReference<List<Integer>>() {});
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        roleService.add(roleName, gradeIdList.toArray(new Integer[0]));
        return "ok";
    }

        使用 @RequestBody 注解来接收前端传递过来的 JSON 数据,并使用 Jackson 库中的 ObjectMapper 对象将其转换成一个 List<Integer> 对象。

        在转换过程中,使用 TypeReference类来指定转换的目标类型为 List<Integer>。

        然后,再将转换后的 List<Integer> 对象转换成一个 Integer 数组,并将其传递给 roleService.add() 方法进行处理。文章来源地址https://www.toymoban.com/news/detail-577463.html

到了这里,关于前端传递JSON数组数据到后端(解析方法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端传递Json格式,后端如何用多种方式接收

     一、先定义一个简单的实体类 二、编写前端传递的json数据 1.前端传递普通json,后端用对象接收 2.前端传递json数组, 3.前端传递json数组,后端用集合接收Josn数组

    2024年02月12日
    浏览(50)
  • SpringBoot前端传递数组后端怎么接收

    在Spring Boot中,前端传递数组到后端的方式可以有多种。以下介绍两种常用的方法: 使用@RequestParam接收数组参数: 前端可以通过URL参数的形式传递数组,后端使用@RequestParam注解来接收数组参数。 示例代码: 前端请求示例: 在URL参数中使用相同的参数名(如arrayParam),Sp

    2024年02月04日
    浏览(48)
  • @RequestMapping运用举例(有源码) 前后端如何传递参数?后端如何接收前端传过来的参数,传递单个参数,多个参数,对象,数组/集合(有源码)

    目录 一、@RequestMapping  路由映射 二、参数传递 1、传递单个参数 2、传递多个参数 3、传递对象 4、后端参数重命名 5、传递数组 6、传递集合 7、传递JSON 8、获取url中的参数 9、上传图片/文件 指定请求访问的路径 既可以修饰类,又可以修饰方法 @RequestMapping支持Get、Post、Dele

    2024年02月04日
    浏览(52)
  • 纯前端 导出Excel文件(包括导出用数组数据模拟文件数据和实际后端返回的文件数据)的 方法

            在纯前端导出文件的一种常见方法是通过生成下载链接来实现,可以使用Blob对象和URL.createObjectURL()方法来实现,因为现在工作中主要运用的前端框架是Angular,这篇文章将以angular为例进行阐述。 一、示例代码 1. 首先,安装FileSaver库(https://github.com/eligrey/FileSaver.j

    2024年04月23日
    浏览(36)
  • CRM项目为新增用户设置对应的前端校验规则并发送Axios请求到后端将表单数据提交用户信息------CRM项目

    template     el-button type=\\\"primary\\\" @click=\\\"addUser()\\\"新增用户/el-button     el-button type=\\\"danger\\\"批量删除/el-button     el-table         :data=\\\"userList\\\"         style=\\\"width: 100%\\\"         @selection-change=\\\"handleSelectionChange\\\"             !-- 复选框    --         el-table-column type=\\\"selection\\\" width=\\\"33%\\\"

    2024年02月19日
    浏览(40)
  • 若依框架前端静态资源到后端访问

    修改ruoyi-ui中的.env.production(二选一) 修改ruoyi-ui中的router/index.js,设置mode属性为hash 打包前端静态资源文件。 修改后端resources中的application.yml,添加thymeleaf模板引擎配置 修改后端pom.xml,增加thymeleaf模板引擎依赖 修改后端ResourcesConfig.java中的 addResourceHandlers,添加静态资源映

    2024年02月06日
    浏览(63)
  • 前端发送的请求,是如何请求到后端服务的?

    发现问题 通过对前端请求路径以及后端接口地址的对比可以发现,两者其实并不相同,也就是说前端的请求并不是直接去发送给后端的tomcat服务器的,而是前端浏览器首先去请求nginx服务器,然后再通过nginx反向代理将请求转发到后端的tomcat服务器。 提出问题 那么我们为什么

    2024年03月10日
    浏览(53)
  • @RequestBody接收不到前端传递过来的json数据

    我刚开始只是写@RequestBody ParkingRecord parkingRecord 一直获取的都是null, 直到用了Map标签才终于获取到参数了 获取到map的key,就可以获取值了 有人说是前后端参数名称不一致:在实体类的属性上加一个注解 然而这个没有解决我的问题 也有人说是因为lombok的问题,自己用idea的快捷

    2024年02月12日
    浏览(53)
  • 如何解决前端传递数据给后端时精度丢失问题

    有时候我们在进行修改操作时,发现修改既不报错也不生效。我们进行排查后发现服务器端将数据返回给前端时没有出错,但是前端js将数据进行处理时却出错了,因为id是Long类型的,而js在处理后端返回给前端的Long类型数据时只能处理前16位,后3位进行了四舍五入操作,例

    2024年02月09日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包