JSON.parse 需要文本作为第一个参数,如本页所述:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse。
JSON.parse(['["asd"]'])
结果是["asd"]
.这是一个错误吗?
JSON.parse
希望你给它传递一个字符串。
你正在向它传递一个数组。
数组使用其toString
方法隐式转换为字符串。
这会将其中的所有值(所有值)平展为单个字符串。
const array = ['["asd"]'];
const string = "" + array;
console.log(string);
发生这种情况是因为类型强制(隐含如我之前所述)和 Array.prototype.toString() 的结果的组合。