我尝试使用 eval 将字符串更改为对象但失败了。
var obj ="{a:0, b:-1}";
eval(obj);
错误消息说“无效标签”,但即使这样也不起作用
var obj="{'a':'0', 'b':'-1'}";
代码有什么问题?
我尝试使用 eval 将字符串更改为对象但失败了。
var obj ="{a:0, b:-1}";
eval(obj);
错误消息说“无效标签”,但即使这样也不起作用
var obj="{'a':'0', 'b':'-1'}";
代码有什么问题?
当eval
输入 json 时,你必须在它周围加上大括号,所以它应该看起来像(否则它不是一个完整的 javascript 语句):
eval('('+obj+')');
这解决了错误,但生成的对象没有保存到任何变量 - 所以你可能想得到其他东西,比如:
eval('obj = '+obj);
这也是一个完整的陈述,此外,obj
现在是一个“真实的”对象。
你也可以尝试这样的事情。
var obj=eval(" [{'a':'0', 'b':'-1'}] ");
alert(obj);