JSON.stringify()与array.join(',')

Angular 6中,我使用myString.join(',')将ID数组连接成一个由逗号分隔的长字符串。

当我将其发送到.NET Web API时,我注意到只有一个值(第一个ID)正在发送。然后,我通过将myString.join(',')更改为JSON.stringify(myString.join(','))来解决此问题。现在,在API上,所有ID均已成功发送。

我想知道为什么会这样。我了解需要通过JSON发送数据,但是JSON字符串和.join(',')构建的前端Typescript字符串之间有什么区别?我有点希望常规的.join()可以正常工作,因为它是一个字符串。

linshumian999 回答:JSON.stringify()与array.join(',')

array.prototype.joinJSON.stringify都返回简单的字符串。因此,您应该能够对两者进行控制台记录,并找到输入的区别。

最有可能是其引号。 JSON.stringify(string)string括在引号"中,并转义现有引号。

let s = '""yo i already have many quotes"""';
let j = JSON.stringify(s);
console.log(s);
console.log(j);

let ids = [123,516];
let idsJoin = ids.join(',');
let idsJson = JSON.stringify(idsJoin);

console.log(ids);
console.log(idsJoin);
console.log(idsJson);

本文链接:https://www.f2er.com/3114944.html

大家都在问