26

如何将字符串对象值应用于变量 Ex。

var str='{a:"www"}'

现在怎么设置

var obj={a:"www"}

我尝试 eval() 但不工作

4

2 回答 2

40

eval应该可以工作,它实际上是一个MDN 解决方案,更不用说你的字符串不是有效的 JSON,所以eval是你唯一的选择(如果你不想为此包含一个库)。

var str='{a:"www"}';
var obj=eval("("+str+")");
console.log(obj);

Chrome 开发工具中的快速测试:

eval("("+'{a:"www"}'+")")
Object
    a: "www"
    __proto__: Object

只要记住将您的字符串放在括号中并将其分配到外面 eval,它就会(相对)安全。

于 2012-12-05T08:00:00.667 回答
27
var str='{"a":"www"}';
var obj = JSON.parse(str);
于 2012-12-05T07:33:24.730 回答