ljharb/qs

Stringify with "arrayFormat: comma" encodes objects inside arrays as "[object Object]"

Open

#378 创建于 2020年8月11日

在 GitHub 查看
 (30 评论) (6 反应) (0 负责人)JavaScript (8,015 star) (744 fork)batch import
bughelp wantedstringify

描述

Tested on version 6.9.4

Stringify with arrayFormat: comma encodes objects inside arrays as [object Object]

I took this code from the examples:

qs.stringify({ a: { b: { c: 'd', e: 'f' } } });
// 'a[b][c]=d&a[b][e]=f'

and added an array around the inside object

qs.stringify({ a: { b: [{ c: 'd', e: 'f' }] } }, { encode: false, arrayFormat: 'comma' })
// 'a[b]=[object Object]'

The inside data is lost this way.

I tried the allowDots setting too, but that didn't fix anything.

I'm not sure what the output should be like exactly, but this is unusable right now. In my project I did Array.map(p => ${p.ID}::${p.Value}), but that's very specific and I'm unsure if the :: is a good seperator.

贡献者指南