ljharb/qs

Cannot parse array of objects using arrayFormat = 'brackets'

Open

#215 opened on Jun 13, 2017

View on GitHub
 (13 comments) (11 reactions) (0 assignees)JavaScript (8,015 stars) (744 forks)batch import
bughelp wantedparse

Description

The README states:

You can also create arrays of objects:

var arraysOfObjects = qs.parse('a[][b]=c');
assert.deepEqual(arraysOfObjects, { a: [{ b: 'c' }] });

However when you try to parse an array with 2 objects, an object with 2 keys is created instead:

var arraysOfObjects = qs.parse('a[][b]=c&a[][d]=e');
assert.deepEqual(arraysOfObjects, { a: [{ b: 'c' , d: 'e'}] });

This also happens with arrayFormat = 'repeat'.

If arrays without indices cannot be supported, may the allowDots option could affect arrays instead: (a.0.b=c&a.1.d=e)

Contributor guide