在 Angular 6
中,我使用 myString.join(',')
将一组 ID 加入到一长串逗号分隔的 ID 中。
当我将其发送到 .NET Web API
时,我注意到只发送了一个值,即第一个 ID。然后,我通过将 myString.join(',')
更改为 JSON.stringify(myString.join(','))
在前端修复了此问题。现在,在 API 上,所有 ID 均已成功发送。
我想知道这是为什么。我知道数据需要通过 JSON
发送,但是 JSON
字符串和由 .join(', ')
?我希望常规的 .join()
能够工作,因为它是一个字符串。
最佳答案
array.prototype.join
和 JSON.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);
关于javascript - JSON.stringify() 与 array.join (',' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58825057/