javascript – 将js对象写入nodejs中的文件(包括方法)?

我看到如何将对象写入文件,如下所述: How can I save objects to files in Node.js?但有没有办法获取对象并以允许我将对象重新加载到内存中的方式编写它,包括方法

解决方法

正如@AnthonySottile之前所说,这可能是非常危险的,我不确定它是否有一个很好的用例,但只是为了踢和咯咯,你需要编写自己的递归序列化器.像这样的东西:
var toString = Object.prototype.toString;

function dump_object(obj) {
    var buff,prop;
    buff = [];
    for (prop in obj) {
        buff.push(dump_to_string(prop) + ': ' + dump_to_string(obj[prop]))
    }
    return '{' + buff.join(',') + '}';
}

function dump_array(arr) {
    var buff,i,len;
    buff = [];
    for (i=0,len=arr.length; i<len; i++) {
        buff.push(dump_to_string(arr[i]));
    }
    return '[' + buff.join(',') + ']';
}

function dump_to_string(obj) {
    if (toString.call(obj) == '[object Function]') {
        return obj.toString();
    } else if (toString.call(obj) == '[object Array]') {
        return dump_array(obj);
    } else if (toString.call(obj) == '[object String]') {
        return '"' + obj.replace('"','\\"') + '"';
    } else if (obj === Object(obj)) {
        return dump_object(obj);
    }
    return obj.toString();
}

这将处理大多数类型,但总有一个奇怪的球混乱它的机会所以我不会在生产中使用它.之后反序列化就像下面这样简单:

eval('var test = ' + dump_to_string(obj))

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...