我在请求正文中得到一个数组,如下所示:
[
{
"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/