从POST快速解析数组 [英] Express Parsing Array from POST

查看:81
本文介绍了从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆