访问节点中发布请求对象中的数组项

时间:2018-06-28 18:47:14

标签: json node.js express post

我正在发送与下面的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
    };
};

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

1 个答案:

答案 0 :(得分:1)

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