方法一:js中最著名的eval方法 复制代码 代码如下: var strJson="{name:"张三"}";//json var obj=eval("("+strJson+")");//转换后的json对象 alert(obj.name);//json name
此方法需要注意的是: 对象表达式{"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