【问题标题】:Posting Array of objects along with image field in posman form-data在邮递员表单数据中发布对象数组以及图像字段
【发布时间】:2020-08-25 05:20:14
【问题描述】:

我正在尝试在表单数据中使用邮递员发布对象数组(也想上传图片),但在后端我只收到一个带有字符串格式对象的索引。

【问题讨论】:

    标签: node.js api postman


    【解决方案1】:

    在 XHR 中,我们只能传递字符串格式的数据,当服务器接收到时,你必须使用JSON.parsestring 转换回object or array。 您不能在 XHR post 方法中直接传递数组或对象。

    使用JSON.stringify()data 转换为string

    JSON.stringify(data)
    

    用于在服务器检索数据

    使用JSON.parse()string 转换为data

    JSON.parse(data)
    

    【讨论】:

    • 我已经尝试过了,我得到的字符串不是 Array '[{"id":"5f44594e8dfdd506a025ccdf","name":"Account Manager"}]'
    • 是的,你需要像这样解析它:JSON.parse(datastring)
    • 在邮递员中?我想通过邮递员发送这个角色领域?如何在邮递员中使用 JSON.parse(arr)
    【解决方案2】:

    是的,角色不应该有方括号,而是应该将它们包裹在您传入的数组周围。这是我刚刚放在一起的 ExpressJS 示例。 代码:

    const express = require("express");
    const app = express();
    const bodyParser = require("body-Parser");
    app.use(bodyParser.json());
    
    app.post("/", function (req, res, next) {
      console.log(req.body);
      res.send("Success");
    });
    
    app.listen(3000, () => {
      console.log("Running on port 3000");
    });
    

    JSON 对象:

    {
        "testArray": [
            {
                "firstName": "Joe",
                "lastName": "Smith",
                "age": 51
            },
            {
                "firstName": "James",
                "lastName": "Smith",
                "age": 21
            }
        ]
    }
    

    来自console.log(req.body)的结果

    {
      testArray: [
        { firstName: 'Joe', lastName: 'Smith', age: 51 },
        { firstName: 'James', lastName: 'Smith', age: 21 }
      ]
    }
    

    不确定您使用什么框架来开发您的 API,但 ExpressJS 很简单,并且有很好的文档记录。

    【讨论】:

    • 它不是关于快递或节点我的目标是在邮递员中以表单数据发送对象数组我可以做这一行但我也想上传照片
    【解决方案3】:

    您可以在 Postman form-data key-value 输入中简单地添加许多具有相同名称的字段,它会将它们转换为数组

    input:1
    input:2
    input:3
    file:some-file
    
    >> in server you will have
    {
      input:[1,2,3],
      file:some-file
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 2022-09-23
      • 2020-12-31
      • 2020-10-04
      • 2019-11-14
      相关资源
      最近更新 更多