前端将数组和对象参数传给后台

01.前端

第一步:前端将数组或对象转换为Json字符串:

 var cart1 = JSON.stringify(this.data.carArray);
        var vendor1 =JSON.stringify(this.data.vendor);
        var userInfo1 = JSON.stringify(wx.getStorageSync('userInfo'));

第二步:注意格式:

 header: {
             'content-type': 'application/x-www-form-urlencoded',
             'Accept': 'application/json'
           },

第三步:传参数

data:{vendor:vendor1,userInfo:userInfo1,cart:cart1},

02.后台

第一种方法:可以直接采用对象接受前端的参数。

第二种方法:第三方转换
对于数组类型,可以采用Json处理的第三方包将json字符串转换成Java对象。

第一步:引入第三方包

<!-- 阿里JSON解析器 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.60</version>
    </dependency>

第二步:将字符串转换成Java对象

@PostMapping("/xxx")
    @ResponseBody
    public String payOrder(@RequestParam("cart") String cart,@RequestParam("vendor") String vendor,@RequestParam("userInfo") String userInfo){
          System.out.println(cart);
          //Json字符串转换成java对象
          Vendor vendor1=JSON.parseObject(vendor,Vendor.class);
          UserInfo userInfo1=JSON.parseObject(userInfo, UserInfo.class);
          //数组类型
          List<Cart> cart1 = JSON.parseArray(cart, Cart.class);
//        BaseDataPojo baseDataPojo = indexService.getVendorGoods(id);
//        String result = JSON.toJSONString(baseDataPojo);
//        System.out.println(result);
        return null;
    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java后台接收前端对象数组,你可以使用以下步骤: 1. 在前端,将对象数组转换为JSON字符串,然后通过POST请求将数据发送到后台。你可以使用JavaScript中的`JSON.stringify()`方法将对象数组转换为JSON字符串。 2. 在后台,创建一个与前端对象对应的Java类。确保该类具有与前端对象相匹配的属性和构造函数。 3. 在后台,创建一个接收POST请求的Controller或Servlet。使用合适的框架和方法来处理HTTP请求。 4. 在后台,使用JSON解析库(如Jackson、Gson等)将接收到的JSON字符串转换为Java对象数组。根据你使用的框架和库,可以在Controller或Servlet中使用注解来绑定请求参数。 5. 在后台,通过处理程序对接收到的对象数组进行进一步的操作或存储。 以下是一个示例代码: ```java // 前端发送的JSON数据格式:[{"id": 1, "name": "John"}, {"id": 2, "name": "Jane"}] // 前端对象对应的Java类 public class MyObject { private int id; private String name; // 省略getter和setter方法 } // 后台接收请求的Controller @RestController public class MyController { @PostMapping("/objects") public void receiveObjects(@RequestBody MyObject[] objects) { // 对接收到的对象数组进行进一步操作或存储 for (MyObject object : objects) { System.out.println(object.getId() + ": " + object.getName()); } } } ``` 在这个示例中,前端将一个包含两个对象对象数组发送到`/objects`路径。后台的`MyController`类通过`@PostMapping`注解接收POST请求,并使用`@RequestBody`注解将接收到的JSON字符串转换为`MyObject`对象数组。然后,你可以对这些对象进行进一步的操作或存储。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值