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);