从POST快速解析数组 [英] Express Parsing Array from POST
本文介绍了从POST快速解析数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
运行Express API,当我遇到POST路由时,我正在努力正确地解析包括对象数组在内的数据.
Running an Express API, I'm struggling to parse data including an array of objects correctly when hitting a POST route.
代码的简化版-
var express = require('express');
var app = express();
var router = express.Router();
var bodyParser = require('body-parser');
var parseUrlencoded = bodyParser.urlencoded({ extended: false });
router.post('/', parseUrlencoded, function(req, res) {
console.log(req.body);
});
通过以下内容点击API
Hitting the API with the following
{ name: "Object name",
arrayOfObjects: [
{ name: "Sub Object Name", subType: "Sub Object Type" },
{ name: "Sub Object Name 2", subType: "Sub Object Type 2" }
]
}
注销
{ name: "Object name",
'arrayOfObjects[0][name]': "Sub Object Name",
'arrayOfObjects[0][subType]': "Sub Object Type",
'arrayOfObjects[1][name]': "Sub Object Name 2",
'arrayOfObjects[1][subType]': "Sub Object Name",
}
我希望将其作为数组接收,使用PUT请求时就是这种情况.
I would like to receive this as an array, which is the case when using a PUT request.
我敢肯定,使用bodyParser或类似配置可以做到这一点,但我一直在努力寻找一个好的解决方案.
I'm sure this possible using a configuration of bodyParser or similar, but I'm struggling to find a good solution.
推荐答案
好吧,从您的问题开始,我了解到您想像json数组一样操作POST正文,然后使用 qs库,方法是使扩展 真实
Ok, from your question I understand that you want to manipulate the POST Body like a json array then use qs library by making extended true
app.use(bodyParser.urlencoded({ extended: true }));
这篇关于从POST快速解析数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文