我遇到了一个解析(或者因为无知我不明白为什么会发生这种情况)一个包含一行的数组的功能。
我们有一个带有 json 字符串的数组。
const arr = ['{"name": "John"}']; // массив
const parsedArr = JSON.parse(arr);
console.log(parsedArr); // объект
为什么将数组转换为对象?
更多示例:
const example1 = ['"item"'];
console.log(JSON.parse(example1)); // 'item'
const example2 = ['["item"]'];
console.log(JSON.parse(example2)); // ['item']
parse 方法内部似乎有一个检查,以查看传递的参数是否为数组。如果是这样,那么如果数组中只有一个元素,则扩展数组并返回数组的元素。
隐式类型转换出错。
JSON.parse需要一个字符串作为输入。因此,传入的参数被转换为字符串['{"name": "John"}'].toString()==={"name": "John"}。反过来,这是有效的 JSON,它被成功地解析成一个对象。
那是
一样