传递查询字符串node.js中的对象数组

时间:2015-01-18 02:44:29

标签: node.js url query-string

如果我想让Node.js查询解析器解析数组,我可以发送:

'?or=foo&or=bar' // gets me { or: ['foo', 'bar'] }

如果我想要一个物体,我可以这样做:

'?or[foo]=bar' // gets me { or: {foo: 'bar'}}

但是如何获得一系列对象?我喜欢这个输出:

{ or: [{foo: 'bar'}, {bar: 'baz'}]}

2 个答案:

答案 0 :(得分:4)

使用qs模块,如果您使用此格式,则可以获取您正在寻找的对象:

or[0][foo]=bar&or[1][bar]=baz

答案 1 :(得分:0)

您可以使用选项 allowDots。

const stringParams = qs.stringify(params, {allowDots:true});
// myArray[0].name=MeWhit
qs.parse(stringParams , {allowDots: true});
// [{ name: MeWhit}]