JSON.prase()和 eval()区别
来源:互联网 发布:网络诽谤案例 编辑:程序博客网 时间:2024/06/01 07:41
json的解析方法共有两种:eval_r() 和 JSON.parse(),使用方法如下:
var jsonData = '{"data1":"Hello,", "data2":"world!}';
var evalJson=eval_r('('+jsonData+')');
var jsonParseJson=JSON.parse(jsonData);
这样就把jsonData这个json格式的字符串转换成了JSON对象。
二者的区别如下:
var value = 1;
var jsonstr = '{"data1":"hello","data2":++value}';
var data1 = eval_r('('+jsonstr+')');
console.log(data1);//这时value值为2
var data2=JSON.parse(jsonstr);
console.log(data2);//报错
可以看到控制输出台的结果,第一个eval_r()顺利执行,第二个报错了。从上例就可以明显地看出,eval在解析字符串时,会执行该字符串中的代码(这样的后果是相当恶劣的),
如上例中,由于用eval解析一个json字符串而造成原先的value的值改变。
0 0
- JSON.prase()和 eval()区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse()和eval()的区别
- JSON.parse()和eval()的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse()和eval()的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- eval()和json.parse()的区别
- eval和JSON
- JSON和eval
- 关于eval和json
- eval和JSON
- eval 和 JSON
- Andriod中WebView加载登录界面获取Cookie信息并同步保存,使第二次不用登录也可查看个人信息。
- mplayer-1.0rc2+live555
- ubuntu下系统打包
- 技术 or 非技术 你作何选择
- (HDU 5742) It's All In The Mind <思维水题> 2016 Multi-University Training Contest 2
- JSON.prase()和 eval()区别
- 中值滤波四个角有一些像素是零的原因
- Python - yield
- 枚举
- gdb watch 调试时,无法watch
- Android事件分发机制
- 事件冒泡和默认行为阻止
- 大白话讲解Promise(一)
- PAT BASIC LEVEL 1007. 素数对猜想 (20)