如何解码用x-www-form-urlencoded编码的Javascript对象的数组?

我发送POST请求以下数组:

let bookings = [{ owner : clientId, businessId : businessId, service : serviceId, startDate : new Date() }, { owner : clientId, businessId : businessId, service : serviceId, startDate : new Date() }]; 

在服务器上,我有以下设置:

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

并获得以下req.body内容:

 0[owner]=56fd4dcf8b98ce1c3d87e3ad, 0[businessId]=56fd4dcf8b98ce1c3d87e3ac, 0[service]=56fd4dcf8b98ce1c3d87e3ab, 0[startDate]=2016-03-31T16:18:23.220Z, 1[owner]=56fd4dcf8b98ce1c3d87e3ad, 1[businessId]=56fd4dcf8b98ce1c3d87e3ac, 1[service]=56fd4dcf8b98ce1c3d87e3ab, 1[startDate]=2016-03-31T16:18:23.220Z 

我怎样才能解码这回JavaScript数组的对象?

Solutions Collecting From Web of "如何解码用x-www-form-urlencoded编码的Javascript对象的数组?"

通过body-parser使用urlencoded()函数。

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

扩展

扩展选项允许select在查询string库(如果为false)或qs库(如果为true)时parsingURL编码的数据。 “扩展”语法允许将丰富的对象和数组编码为URL编码的格式,从而允许使用URL编码的类似JSON的体验。 有关更多信息,请参阅qs库。

默认为true,但使用默认值已被弃用。 请研究qs和querystring之间的差异,并select适当的设置。