#378·qs

使用 "arrayFormat: comma" 会将数组内的对象编码为 "[object Object]"

作者: FreekyMage创建于 2020年8月11日更新于 2023年11月26日
标签bughelp wantedstringify

我在 6.9.4 版本上测试了这个问题。使用 arrayFormat: comma 编码数组内的对象时,结果为 [object Object]。我从示例中取出了这个代码: qs.stringify({ a: { b: { c: 'd', e: 'f' } } }); // 'a[b][c]=d&a[b][e]=f' 然后我将内部对象包裹在数组中: qs.stringify({ a: { b: [{ c: 'd', e: 'f' }] } }, { encode: false, arrayFormat: 'comma' }) // 'a[b]=[object Object]' 这种方式会丢失内部数据。我还尝试了 allowDots 设置,但这并没有解决问题。我不确定输出结果应该是什么样子,但目前这个问题无法使用。在我的项目中,我使用了 Array.map(p => ${p.ID}::${p.Value}),但这非常具体,我不确定 :: 是否是一个合适的分隔符。