提问者:小点点

迭代JSON数组每次得到0


我有一个非常基本的express API,我正在进行一个从邮递员到APIendpoint的调用。 当我尝试打印JSON项时,它只打印0。

router.post('/create', async (req, res) => {
    data = await req.body
    console.log(data)
    for (var obj in data) {
        console.log(obj)
    }
});

我发的帖子请求,正文是:

[
    {
        "seatID": 30,
        "passenger": {
            "name": "Mr. a Huffle Puff",
            "sex": "M",
            "age": 52,
            "email": "karafasfaa@gmail.com"
        }
    }
]

和控制台日志,

[
  {
    seatID: 30,
    passenger: {
      name: 'Mr. a Huffle Puff',
      sex: 'M',
      age: 52,
      email: 'karafasfaa@gmail.com'
    }
  }
]
0

我不明白为什么它打印0,而它应该打印JSON对象。 我正在做一个原始JSON的POST请求。


共1个答案

匿名用户

for(var.。。in.。。)应用于迭代对象,而不是数组。

请参阅此处的文档

你可以做的是:

data.map((payload) => console.log(payload));