JSON字符串转换成JSON对象

 

一 JSON对象的parse方法

 

IE8+、Chrome、Safari、Firefox浏览器都支持。

 

var str = '{"name":"张三"}';
var obj = JSON.parse(str);

 

缺点 : 字符串如果不是标准格式(例如,键名没加引号),会抛Uncaught SyntaxError异常。

 

二 eval函数

 

eval()函数会将传入的字符串当做JavaScript代码进行执行。

所有浏览器都支持,json字符串可以不是标准格式。 

但eval可以执行传入的任何字符串,会带来安全问题。同时eval、with会改变js的词法作用域,影响浏览器引擎对词法作用域的优化,从而影响性能。

 

var str = '{name:"张三"}';
var obj = eval(str);

 

三 Function函数

 

所有浏览器都支持,存在安全问题。 

 

function myParse(str){
    return new Function('return '+str)();
}
var str = '{name:"张三"}';
var obj = myParse(str);

 

posted on 2017-05-05 16:34  沙滩海风  阅读(230)  评论(0编辑  收藏  举报

导航