javascript - 在 Node js Express 中解析 req.body 中的数组

标签 javascript node.js express swagger hyperledger

我在请求正文中得到一个数组,如下所示:

[

{
   "month" : "JUL",
   "year" :"2018"
},
{
   "month" : "JAN",
   "year" :"2018"
},
{
   "month" : "MAR",
   "year" :"2018"
}
    ]

此输入有两个参数(月份:枚举和年份:字符串)。

我需要循环遍历这个数组并调用链代码,最后发送响应。我已完成以下操作:

     for(var i=0; i<req.body.length; i++) {
                    var month = req.body[i].month;
                    var year = req.body[i].year;
                    var monthYear = month + year;
    key = monthYear + "_new";
        console.log("Key is ", key);
            var request = {
            //targets: let default to the peer assigned to the client
            chaincodeId: 'abc',
            fcn: 'getTransactionsByKey',
            args: [key]

//Calling chaincode smartcontract
return channel.queryByChaincode(request);
}

但是如果我只传递一个输入参数,响应就会正确。如果我在输入中传递两个值,则第二个值结果将覆盖第一个值。有关如何获得具有重叠部分的所有输入列表的响应的任何帮助。

此外,我需要在调用链代码之前对输入值进行排序,就像如果我在输入中得到 Feb Mar Jan ,我应该将其排序为 Jan Feb Mar ,然后运行 ​​for 循环。

对此的任何帮助表示感谢。

提前致谢。 谢谢。

最佳答案

您可以在 app.js 中使用 body-parser,如下所示:

app.use(bodyParser.urlencoded({ 
     extended: true 
}));

假设您正在 post 请求正文中接收带有键:users 的数组,您将像这样解析它:

req.body.users

(它包含用户数组)

关于javascript - 在 Node js Express 中解析 req.body 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51532539/

相关文章:

javascript - axios 请求中未发送正文数据

node.js - 为什么 mongodb 对 mongo 的 localhost 实例的查询比对云实例的查询要快得多?

javascript - 即使处理了被拒绝的 promise ,仍收到 `UnhandledPromiseRejectionWarning`

javascript - NodeJs 在执行测试用例时用 Jest 错误表达 MongoDB

node.js - 如何使用 Passport 和 node.js 将当前登录状态添加到 MongoDB 中的用户架构

javascript - JSON stringify 返回空字符串

php - 处理 PHP 文件中未知数量的值

javascript - 编译时设置错误 react native "gradle"

javascript - 为什么使用react-router-dom需要导入同一包的两个单独的别名?

javascript - 为什么当使用 Node Express 和 Backbone 获取请求时,我会得到用户集合和额外的对象?