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+""))();
  • 相关阅读:
    with open 向文件的某一固定行,追加内容
    静态语言 与 动态语言 的区别
    ELK
    matplotlib绘图
    django用户认证
    django+uwsgi+nginx 部署生产环境
    图片验证码+session
    ajax
    form
    middleware中间件
  • 原文地址:https://www.cnblogs.com/zzsdream/p/11322232.html
Copyright © 2011-2022 走看看