加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax解析json的两种方法

发布时间:2020-12-16 03:17:05 所属栏目:百科 来源:网络整理
导读:eval(); //此方法不推荐 JSON.parse(); //推荐方法 一、两种方法的区别 我们先初始化一个json格式的对象: var jsonDate = '{ "name":"周星驰","age":23 }' var jsonObj = eval( '(' + jsonDate + ')' ); // eval();方法 var jsonObj = JSON.parse( jsonDate
eval(); //此方法不推荐 JSON.parse(); //推荐方法 一、两种方法的区别 我们先初始化一个json格式的对象:   var jsonDate = '{ "name":"周星驰","age":23 }'   var jsonObj = eval( '(' + jsonDate + ')' ); // eval();方法   var jsonObj = JSON.parse( jsonDate ); // JSON.parse(); 方法 然后在控制台调用:   console.log( jsonObj.name ); // 两种方法都可以正确输入 周星驰 那么问题来了 两种方法有什么区别呢?(下面我们稍微把代码改动一下,蓝色字体为修改部分)   var jsonDate = '{ "name":alert("hello"),"age":23 }'   var jsonObj = eval( '(' + jsonDate + ')' ); // eval();方法   console.log( jsonObj.age ); //会先执行“alert”输出“hello” 然后才输出 23 换“JSON.parse();”方法:   var jsonDate = '{ "name":alert("hello"),"age":23 }'   var jsonObj = JSON.parse( jsonDate ); // JSON.parse(); 方法   cosole.log( jsonobj.age ) // 报错 这个错误告诉我们这个字符串是不合法的 小结:“eval();”方法解析的时候不会去判断字符串是否合法,而且json对象中的js方法也会被执行,这是非常危险的;而“JSON.parse();”方法的优点就不用多说了,推荐此方法。(不明白的盆友可以自己在控制台测试一下)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读