eval函数和JSON.parse函数都可以进行转换,但还是有点差别的:
JSON.parse对待转换的字符串格式要求很严格,必须要和对象的格式一致才能转换;而eval不仅可以将字符串转化为对象,还可以解析javascript代码,在安全性方面,用JSON.parse更好
(1)eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。我们可以借助它来将字符串还原成数组。(亲测有用)
var
str =
'["a", "b", "c", "d"]';
var
arr = eval('('
+ str +
')');
console.log("原始的字符串:", str);
console.log("转换后的数组:", arr);
console.log("数组第一个值:", arr[0]);
(2)运行结果如下:

2,使用 JSON.parse() 方法转换
(1)由于数组的类型也是对象,因此我们也可以用JSON.parse()方法将数组转换成对象。
var
str =
'["a", "b", "c", "d"]';
var
arr = JSON.parse(str);
console.log("原始的字符串:", str);
console.log("转换后的数组:", arr);
console.log("数组第一个值:", arr[0]);
(2)运行结果同上面一样:
