zoukankan      html  css  js  c++  java
  • JSON中eval与parse的区别

    json的的解析方法 (非原创)

    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值为2vardata2=JSON.parse(jsonstr);console.log(data2);//报错

    JSON.parse和eval的区别可以看到控制输出台的结果,第一个eval_r()顺利执行,第二个报错了。

    从上例就可以明显地看出,eval在解析字符串时,会执行该字符串中的代码(这样的后果是相当恶劣的),如上例中,由于用eval解析一个json字符串而造成原先的value的值改变。

  • 相关阅读:
    构建之法读书笔记04
    团队冲刺06
    12.23——周总
    团队冲刺05
    团队冲刺04
    用户场景分析
    团队冲刺03
    返回一个二维数组中最大联通子数组的和
    团队冲刺02
    FFT/NTT基础题总结
  • 原文地址:https://www.cnblogs.com/nanianqiming/p/5859803.html
Copyright © 2011-2022 走看看