如何将字符串对象的值应用到一个变量上 例如:
var str='{a:"www"}'
现在如何设置var obj={a:"www"}
我尝试使用eval()但是没有生效。
如何将字符串对象的值应用到一个变量上 例如:
var str='{a:"www"}'
现在如何设置var obj={a:"www"}
我尝试使用eval()但是没有生效。
eval
应该能够正常工作,实际上这是一个MDN解决方案,除此之外,你的字符串不是一个有效的JSON,所以eval
是你唯一的选择(如果你不想为此包含一个库)。
var str='{a:"www"}';
var obj=eval("("+str+")");
console.log(obj);
在Chrome Dev Tool中进行快速测试:
eval("("+'{a:"www"}'+")")
Object
a: "www"
__proto__: Object
记得将你的字符串用括号括起来并且将其分配给eval
之外的变量,这样它就会(相对)安全。
var str='{"a":"www"}';
var obj = JSON.parse(str);