ljharb/qs

Stringify with `comma` format should add square brackets to parameter name to identity array with single value

Open

#315 建立於 2019年6月4日

在 GitHub 查看
 (17 留言) (5 反應) (0 負責人)JavaScript (8,015 star) (744 fork)batch import
enhancementhelp wantedstringify

描述

Hi. With new comma array format, stringify of array with single value will produce following result:

const options = {
    arrayFormat: 'comma'
};
qs.stringify({foo: [1]}, options); // foo=1
qs.stringify({foo: [1, 2]}, options); // foo=1,2

So, on parse stage, parsing will produce single value.

qs.parse('foo=1); // {foo: 1}
qs.parse('foo=1,2'); // {foo: [1, 2]}

Maybe add square brackets to parameter name, when comma array format is used?

qs.stringify({foo: [1]}, options); // foo[]=1
qs.stringify({foo: [1, 2]}, options); // foo[]=1,2
qs.parse('foo[]=1); // {foo: [1]}
qs.parse('foo[]=1,2'); // {foo: [1, 2]}

Currently, parsing of the following query string foo[]=1,2 working as expected

貢獻者指南

Stringify with `comma` format should add square brackets to parameter name to identity array with single value · ljharb/qs#315 | Good First Issue