Posting对象数组沿着postman表单中的图像字段-数据

wmvff8tz  于 2022-11-07  发布在  Postman
关注(0)|答案(3)|浏览(142)

我尝试后的对象数组与postman在form-data(也想上传图像),但在后端,我只收到一个索引与对象在字符串格式。x1c 0d1x

c9qzyr3d

c9qzyr3d1#

在XHR中,数据是以String格式传递的,因此当服务器接收到数据时,必须使用JSON.parsestring转换回object or array。不能在XHR post方法中直接传递数组或对象。
使用JSON.stringify()data转换为string

JSON.stringify(data)

用于在服务器上检索数据
使用JSON.parse()string转换为data

JSON.parse(data)
k10s72fa

k10s72fa2#

是的角色不应该有方括号,相反,它们应该包围在你传入的数组周围。下面是我刚刚整理的一个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很简单,而且文档记录很好。

ckocjqey

ckocjqey3#

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

input:1
input:2
input:3
file:some-file

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

相关问题