对象表达式{'name':'张三'}必须用“()”扩住,否则
代码如下:
var strJSON = "{name:'张三'}";
var obj = eval(strJSON);
alert(obj.constructor);//String 构造函数
alert(obj.name);//undefine
必须把对象表达式扩起来eval执行才能生成一个匿名对象!
方法二:函数构造定义法返回
代码如下:
var strJSON = "{name:'张三'}";//得到的JSON
var obj = new Function("return" + strJSON)();//转换后的JSON对象
alert(obj.name);//json name