• JSON中eval与parse的区别


    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的值改变。

  • 相关阅读:
    Powershell分支条件
    Powershell基础
    初识PowerShell
    设计模式--策略模式
    设计模式--简单工程模式
    StandardWrapper
    Tomcat的安全性
    算法效率 简单的增长率 参照

    排序算法之 归并排序
  • 原文地址:https://www.cnblogs.com/liuhaov/p/13488151.html
Copyright © 2020-2023  润新知