在查询字符串中传递对象数组 node.js
Pass array of objects in query string node.js
如果我想让 Node.js 查询解析器解析一个数组,我可以发送这个:
'?or=foo&or=bar' // gets me { or: ['foo', 'bar'] }
如果我想要一个对象,我可以这样做:
'?or[foo]=bar' // gets me { or: {foo: 'bar'}}
但是如何获取对象数组?我想要这个输出:
{ or: [{foo: 'bar'}, {bar: 'baz'}]}
有了qs
模块,如果你使用这种格式,你可以得到你要找的对象:
or[0][foo]=bar&or[1][bar]=baz
您可以使用选项 allowDots。
const stringParams = qs.stringify(params, {allowDots:true});
// myArray[0].name=MeWhit
qs.parse(stringParams , {allowDots: true});
// [{ name: MeWhit}]
如果我想让 Node.js 查询解析器解析一个数组,我可以发送这个:
'?or=foo&or=bar' // gets me { or: ['foo', 'bar'] }
如果我想要一个对象,我可以这样做:
'?or[foo]=bar' // gets me { or: {foo: 'bar'}}
但是如何获取对象数组?我想要这个输出:
{ or: [{foo: 'bar'}, {bar: 'baz'}]}
有了qs
模块,如果你使用这种格式,你可以得到你要找的对象:
or[0][foo]=bar&or[1][bar]=baz
您可以使用选项 allowDots。
const stringParams = qs.stringify(params, {allowDots:true});
// myArray[0].name=MeWhit
qs.parse(stringParams , {allowDots: true});
// [{ name: MeWhit}]