首页 > 解决方案 > 访问Node中发布请求对象中的数组项

问题描述

我正在发送一个类似于下面的 myJsonObj 的对象作为节点中的发布请求。在服务器端,我想遍历对象并构建看起来像这样的新对象,{ "id": 50, "damage_type": "light" }这些将用于调用我的 SQL 字符串构建器。

我目前的问题是我不知道如何处理我的damage_type 物品。我的 id 很好console.log(req.body.id)。但console.log(req.body.damage_type[0]);不打印任何东西。如果我做一个 console.log(req.body) 这就是我在终端看到的

{ id: '50',
      'damage_type[]': [ 'missing', 'broken', 'light' ] }

所以我有点困惑为什么我不能访问对象中的数组项。

let myJsonObj = {
        "id": 50,
        "damage_type": ["missing", "broken", "light"]
      }


router.post('/damage', (req, res) => 

// structure I want to send to createSql function.
// { "poi_id": 50, "damage_type": "light" }
{


    req.body.damage_type.forEach(function(damage) {
    let objToDb = {}
    objToDb.id = req.body.id;
    objToDb.damage_type = damage
    createSql(objtoDb)
    })

    queries.createSql(objtoDb).then(damage => {
        //do things
    };
};

希望有人可以帮助初学者=)

标签: jsonnode.jsexpresspost

解决方案


问题是您damage_type实际上damage_type[]需要检查发送方式damage_type并删除额外的[]


推荐阅读