我一直在寻找一种方法来做到这一点,但似乎无法找到任何东西,我有不同的配置对象,我需要将其保存为变量中的文本处理以后,这里是一个示例:JavaScript - 将方法保存为字符串
对象:
args.config.config = {
next: null,
final:[],
delimiter: '~', header: false,
step: function (row) {
var item = {
'line_code': row.data[0][0],
'order': row.data[0][1]
}
args.config.config.final.push(item);
},
complete: function (result) {
console.log('Reading data completed. Processing.');
return args.config.config.next(null, args.config.config.final);
},
error: function() {
console.log('There was an error parsing');
}'
}
我需要这个保存为一个字符串,所以是这样的:
args.config.config = "{object goes here}";
没有把所有东西都放在一个巨型的线上或者添加断行字符,因为这会在稍后被解析以用于配置中,并且这会弄乱一切,任何想法?
UPDATE: 所以他们改变成文本未必是最好的解决方案,这些CONFIGS将被存储在一个数据库蒙哥,所以它可以把它们看成是(我还没有尝试过呢)。
一个我也陷入了另一个问题是,在配置对象我有这样的:
final.push(item)
和
return next(null, final)
将在另一个文件中使用的配置对象定义
:
其他文件:
exports.parse = function(args, next){//next is what I need to call in the config
var final = []; //this is the final referred to in the config object
....
Baby.parse(data, args.config)
}
所以return next(null,final)和final.push(result)必须引用新文件中的var/function,但我不知道如何让它工作,不过为什么我不得不添加的配置对象和一个空的下一个功能的最后一个数组,然后分配给它像这样:
exports.parse = function(args, next){
args.config.next = next;
....
Baby.parse(data, args.config)
}
对象与丑陋行调用它:
return args.config.config.next(null, args.config.config.final);
如果任何人有绕过这个方法,这将是非常感激。
为什么对象必须是文本,以便储存供日后使用? –
你不能因为这些功能...你可以说在另一个对象的字符串/数字,并使该功能使用这些值? – epascarello
你想要做的是“序列化”。有整个库专门用它们的方法序列化和反序列化对象。最常见的方法是将对象定义为类的实例,将类名称存储为序列化的一部分,然后在反序列化中重构类的实例,可能使用可以实例化的“类工厂”的概念一个基于类名的对象及其方法,来自数据。 – 2016-11-29 21:06:30