<分区>
如何将这段响应转换为有效数组?
我想对数据执行 Object.map
:
var user_roles = "['store_owner', 'super_admin']";
这不是有效的 JSON,所以我不能使用 JSON.parse
标签 javascript json
<分区>
如何将这段响应转换为有效数组?
我想对数据执行 Object.map
:
var user_roles = "['store_owner', 'super_admin']";
这不是有效的 JSON,所以我不能使用 JSON.parse
最佳答案
是的,这里发布的大多数答案都建议使用 JSON.parse
,然后在被删除之前被否决 3 次。人们在这里忽略的是缺少符合 JSON 的引用。然而,字符串是有效的 JavaScript。您可以执行以下操作:
const obj = {
thing: "['store_owner', 'super_admin']",
otherThing: "['apple', 'cookies']"
}
for (const key in obj) {
const value = obj[key];
obj[key] = eval(value);
}
console.log(obj);
输出将是一个有效的 javascript 对象:
{"thing":["store_owner","super_admin"],"otherThing":["apple","cookies"]}
不过,请小心使用 eval()
! javascript eval() and security
您可以在这里尝试:https://es6console.com/jjqvrnhg/
关于javascript - 如何将带有数组的字符串转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51397094/