zoukankan      html  css  js  c++  java
  • function的json对象转换字符串与字符串转换为对象的方法

    // json对象转换成字符串
    var str = JSON.stringify(json, function(key, val) {
    if (typeof val === 'function') {
    return val + '';
    }
    return val;
    });
    // json字符串转换成对象
    var json = JSON.parse(str,function(k,v){
    if(v.indexOf && v.indexOf('function') > -1){
    return eval("(function(){return "+v+" })()")
    }
    return v;
    });

    eval() 是一个危险的函数, 它使用与调用者相同的权限执行代码。如果你用 eval() 运行的字符串代码被恶意方(不怀好意的人)修改,您最终可能会在您的网页/扩展程序的权限下,在用户计算机上运行恶意代码。更重要的是,第三方代码可以看到某一个 eval() 被调用时的作用域,这也有可能导致一些不同方式的攻击。相似的 Function 就不容易被攻击。

    eval() 通常比其他替代方法更慢,因为它必须调用 JS 解释器,而许多其他结构则可被现代 JS 引擎进行优化。

    var obj =(new Function("return "+""+j2+""))();
  • 相关阅读:
    postfix遇到的问题
    SElinux以及防火墙的关闭
    centos查看系统信息
    WINDOWS访问SAMBA提示没有权限
    常用命令
    口才
    【李敖的管理经】
    随笔
    查询MX记录
    bash: ifconfig: command not found
  • 原文地址:https://www.cnblogs.com/zzsdream/p/11322232.html
Copyright © 2011-2022 走看看